题目:给一个正整数n,范围是[1,10^6],对于方程:x+2y+3z = n,其中x,y,z为非负整数,求有多少个这样的三元组

(x,y,z)满足此等式。

分析:先看x+2y=m,很明显这个等式的非负整数解数目为m/2 + 1,然后再看x+2y+3z = n,设k=n/3,那么它的解数目为:

ans = n/2+1+(n-3)/2+1+...+(n-3k)/2+1

所以就有:

LL Work(int n)
{
LL ans = 0;
for(int i=0;i<=n/3;i++)
ans += (n - 3*i)/2 + 1;
return ans;
}

进一步优化,我们不使用循环,直接合并,得到:

LL Work(LL n)
{
LL k = n/3;
LL ans = (n+2)*(k+1) - 3*k*(k+1)/2;
if(k%2!=0 && ans%2==0)
ans -= k/2+1;
else
ans -= k/2;
return ans/2;
}

x+2y+3z=n的非负整数解数的更多相关文章

  1. x+2y+3z=n非负整数解

    #include <iostream> #include <string.h> #include <stdio.h> using namespace std; ty ...

  2. ECC椭圆曲线详解(有具体实例)

    前言 ECC英文全称"Ellipse Curve Cryptography" 与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥 ECC164位 ...

  3. [区块链] 密码学——椭圆曲线密码算法(ECC)

    今天在学椭圆曲线密码(Elliptic Curve Cryptography,ECC)算法,自己手里缺少介绍该算法的专业书籍,故在网上查了很多博文与书籍,但是大多数博客写的真的是...你懂的...真不 ...

  4. ECC加密算法入门介绍 --- 看雪

    标 题:ECC加密算法入门介绍 作 者:zmworm 时 间:2003/05/04 08:32pm 链 接:http://bbs.pediy.com ECC加密算法入门介绍 作者  :ZMWorm[C ...

  5. ECC加密算法原理入门介绍

    前言 同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开 ...

  6. 浅析椭圆曲线加密算法(ECC)

    本文首发于先知社区,原文链接:https://xz.aliyun.com/t/6295 数学基础 黎曼几何中的"平行线" 欧几里得<几何原本>中提出五条公设: 过相异两 ...

  7. pwnable.tw applestore

    存储结构 0x804B070链表头 struct _mycart_binlist { int *name; //ebp-0x20 int price; //ebp-0x1c struct _mycar ...

  8. MT【322】绝对值不等式

    已知 $a,b,c\in\mathbb R$,求证:$|a|+|b|+|c|+|a+b+c|\geqslant |a+b|+|b+c|+|c+a|$ 分析:不妨设$c=\max\{a,b,c\},\d ...

  9. Codeforces.1096E.The Top Scorer(组合)

    题目链接 感觉这题很裸啊,除了看着恶心点也没什么了,怎么过的人那么少.. \(Description\) 给定\(n,r,s\),表示有\(n\)个人,设每个人的得分是非负整数\(a_i\),已知第一 ...

随机推荐

  1. powerdesign设置实体显示格式

    工具-显示参数选择中,如下图:

  2. 使用SqlBulkCopy类批量复制大数据

    using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using Syst ...

  3. WIN8+VS2013编写发布WCF之一(编写)

      引言:上学期因为写服务器用WCF,所以连查资料再瞎调试勉强成功了,但是这学期又到了用WCF的时候,而当时的资料零零散散,查找不易,并且此次是在WIN8与VS2013环境下编写的,所以将该入门过程记 ...

  4. ReactiveCocoa入门教程——第二部分(转)

    ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(FRP)技术.在本系列教程的第一部分中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号.你还学到了如何转换 ...

  5. Android笔记之adb命令应用实例1(手机端与PC端socket通讯上)

    Android端的代码: 布局文件:activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/ ...

  6. 使用SQL Server 2005 新的语法ROW_NUMBER()进行分页的两种不同方式的性能比较

    相比在SQL Server 2000 中使用的分页方式,在SQL Server 2005中使用新的语法ROW_NUMBER()来分页效率要高出很多,但是很多人在使用ROW_NUMBER()这种分页方式 ...

  7. hdu 1063 Exponentiation (高精度小数乘法)

    //大数继续,额,要吐了. Problem Description Problems involving the computation of exact values of very large m ...

  8. Apache Shiro入门实例

    Shiro是一个强大灵活的开源安全框架,提供身份验证.授权.会话管理.密码体系. 1.先创建一个Maven项目 2.配置pom <project xmlns="http://maven ...

  9. SQL Server代理服务无法启动的处理方法(转载)

    SQL Server代理服务无法启动问题的确很让我们头疼,下面就为您介绍SQL Server代理服务无法启动的处理方法,希望对您能有所帮助. --==配置环境服务器环境为32位Intel® Xeon® ...

  10. 用C#开发一个WinForm版的批量图片压缩工具

    我们在实际项目开发过程中,曾经遇到过一个需求,就是要开发一个对大量图片进行整理(删除掉一些不符合要求的图片).归类(根据格式进行分类,比如jpg格式.bmp格式等).压缩(因为有的图片很大很占空间,看 ...