数学
Sleppypot
困难的路越走越容易,容易的路越走越难。
展开
-
关于模运算的性质
题目:http://codeforces.com/gym/100792/problem/A题意:在一个b进制的数字系统下。如果x和y(均用b进制表示)的长度相等且组成的数字相同(只是排列不同),那么x和y叫做b-anagram. 一个数k如果叫做b-stable那么对于这个数所有的倍数他们都互相成为b-anagram. 给定一个b求所有的k.解原创 2016-08-21 10:42:56 · 1086 阅读 · 0 评论 -
给定一个数输出它重复n遍的数
题目:http://codeforces.com/gym/101061/problem/G题意:给定一个数输出它重复n遍的数解答:因为数比较大而且需要模运算,所以可以根据等比数列求和的公式算出。要用到逆元。#include#include#include#include#define ll long long#define mod 1000000007using names原创 2016-08-21 11:54:27 · 1125 阅读 · 0 评论 -
一些位运算
1、 用于整数的奇偶性判断 a & 1 == 1:奇数 2、 判断n是否是2的正整数冪 (!(n&(n-1)) )&& n == 1:是3、 对于正整数的模运算(注意,负数不能这么算)乘2^k众所周知: n。除2^k众所周知: n>>k。mod 2^k:n&((1原创 2016-08-13 20:15:43 · 263 阅读 · 0 评论 -
母函数入门
题目:hdu1028题意:整数拆分(一个整数能有几种拆分方式)解答:其中一种方法是用母函数。对于这道题来说是(1+x+x^2+x^3+x^4...)(1+x^2+x^4+x^6+x^8+x^10+...)(1+x^3+x^6+x^9+...)(...)... (一直到n) 最后算出来了结果之后系数表示拆分的方法数,指数表示拆几先给代码:#include#include#in原创 2016-09-21 17:55:11 · 350 阅读 · 0 评论 -
母函数练习
题目:hdu1085题意:给出1元、2元和5元硬币的数量,问你用这些钱币第一个不能组成的钱数是多少解答:母函数模拟~~~#include#include#include#include#define mod 25000001using namespace std;const int MAXN = 8010;int c1[MAXN],c2[MAXN];int main()原创 2016-10-02 14:04:23 · 403 阅读 · 0 评论 -
母函数练习2
题目:hdu1171题意:有n个物品,每个物品有它的重量和它的数目。求怎么尽可能把它们分成两部分。解答:写出其母函数,然后模拟(也可以用完全背包)#include#include#include#include#includeusing namespace std;const int MAXN = 250005;int c1[MAXN],c2[MAXN];struct原创 2016-10-02 15:35:52 · 259 阅读 · 0 评论 -
错排公式
题目:hdu1465题意:同时给n个网友每人写了一封信,这都没什么,要命的是,他竟然把所有的信都装错了信封!注意了,是全部装错哟!问有几种装法。题解:错排公式。。f[n] = (n-1) * [f[n-1] + f[n-1]]#include#include#includeusing namespace std;const int MAXN = 25;long long in原创 2016-10-02 19:47:00 · 417 阅读 · 0 评论