math
文章平均质量分 78
jasonvictoryan
这个作者很懒,什么都没留下…
展开
-
HNOI2013 数列
题目描述小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨。 股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N。在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数。并且这些参数满足M(K-1)输入输入只有一行用空格隔开的四个数:N、K、M、P。 对P的说明参见后面“输出格式”中对P的解释。输出输出原创 2015-12-08 17:48:27 · 563 阅读 · 0 评论 -
codeforces 722E
题目大意在一个n∗mn*m的网格图中,你要从(1,1)(1,1)走到(n,m)(n,m),每次只能向右或者向下。 其中有kk个障碍点,一条路径每经过1个障碍分数就会从ss,变成⌊s2⌋\lfloor \frac{s}{2} \rfloor. 你最开始的分数为ss,问期望的分数,对1000000007取模。解题思路可知分数只有logslogs种。 那么我们只需求出每种>1的分数共有多少种走法即可原创 2016-10-09 22:31:18 · 847 阅读 · 0 评论 -
codeforces 718C
题目大意最开始给你一个大小为nn的数组aia_i,mm组询问。 第一种,给数组ll到rr的元素加上xx. 第二种,求∑ri=lfibai\sum_{i=l}^r fib_{a_i}fibxfib_x表示斐波那契数列第xx项。解题思路易得 [fibx0fibx−10]∗[1110]n=[fibx+n0fibx+n−10]{\begin{bmatrix} fib_x & fib_{x-1}\\原创 2016-09-24 12:26:19 · 874 阅读 · 0 评论 -
codeforces 712E
题目大意有nn个赌场,你在ii赌场时,有pip_i的概率走到i+1i+1,有1−pi1-p_i的概率走到i−1i-1.保证任何时候pi≤pi+1p_i\leq p_{i+1}有qq次操作,修改一个赌场的pp值;或者询问[l,r][l,r]表示从第ll个赌场走到jj的概率,他在走的过程中不会离开区间[l,r][l,r].解题思路设fif_i表示从ii能走到nn的概率。 易得fi=fi−1∗(1−pi原创 2016-09-12 22:48:44 · 880 阅读 · 0 评论 -
线性同余方程及例题 codeforces 710D
简述⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪x≡r1(modm1)x≡r2(modm2)x≡r3(modm3)……\left\{\begin{aligned}x ≡ r_1 \pmod{m_1} \\x ≡ r_2 \pmod{m_2} \\x ≡ r_3 \pmod{m_3} \\……\\\end{aligned}\right. 求最小非负整数解xx.中国剩余定理两个方程先考虑只有两个方程怎么做。原创 2016-08-23 20:20:49 · 2343 阅读 · 1 评论 -
一些好玩的数论
一个有趣的公式∑i=1ni3=(∑i=1ni)2\sum_{i=1}^n i^3=(\sum_{i=1}^n i)^2这个公式很好证明, 又很好用。证明: (n+1)4−n4=4n3+6n2+4n+1(n+1)^4-n^4=4n^3+6n^2+4n+1 n3=14[(n+1)4−n4]−32n2−n−14n^3=\frac{1}{4}[(n+1)^4-n^4]- \frac{3}{2}n^2-n原创 2016-08-29 16:43:36 · 1973 阅读 · 2 评论 -
codeforces 652F
原题原题链接题目大意给你nn只蚂蚁的初始位置以及它们的最初的方向。蚂蚁会在一个大小为mm的环上行走,走tt时刻。若两只蚂蚁相撞时,他们会把自己的行走方向转换。问最后每只蚂蚁的位置。解题思路如果我们设每只蚂蚁都是相同的,那么两只蚂蚁相撞可以理解为两只蚂蚁各在自己的路上继续走。我们就可以知道最后蚂蚁们在哪里。由于蚂蚁是有序的,所以我们不能知道哪只蚂蚁对应哪个位置。还有就是,蚂蚁之间的相对顺序是固定的,因原创 2016-03-28 10:26:33 · 1169 阅读 · 0 评论 -
codeforces 251D
题目描述给你n≤105n\leq10^5个数,让你分成两个集合,设第一个集合的数的异或值为x1x1,第二个集合的数的异或值为x2x2,空集的异或和定义为00,让你求一个使得x1+x2x1+x2的值最大,并且满足最大条件下x1x1的值最小的方案。解题思路首先你会发现,如果二进制中第ii位一共有奇数个11,那么这一位一定会给答案增加2i2^i的贡献,因为奇数个11分成两堆,一定有一堆为奇数个,一堆为偶数原创 2016-04-08 22:25:35 · 1174 阅读 · 0 评论 -
bzoj2154 Crash的数字表格
题目大意给你nn和mm,求∑ni=1∑mj=1lcm(i,j)\sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i,j).范围 1≤n,m≤1071 \leq n,m \leq 10^7.做法易得ans=∑ni=1∑mj=1lcm(i,j)=∑ni=1∑mj=1i∗jgcd(i,j)ans=\sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i,j) =\sum原创 2016-03-30 11:18:30 · 681 阅读 · 0 评论 -
计算N内点对互质个数
这个是我在PhilipsWeng的博客上看到的,很神奇,就摘录下了。f(N)=∑1≤x,y≤N,gcd(x,y)=1 1f(N) = \sum_{1\leq x,y \leq N,gcd(x,y)=1}~1记g(N)=∑1≤x,y≤N 1=N2g(N) = \sum_{1\leq x,y \leq N}~1 = N^{2} fk(N)=∑1≤x,y≤N,gcd(x,y)=k 1f_{k}(N) =转载 2016-03-29 16:48:26 · 929 阅读 · 0 评论 -
codeforces 733E
题目大意有nn级台阶,每一级台阶有一个符号U或D。 假如你在第ii级台阶,符号是U,那么你下一步会在i+1i+1,反之则在i−1i-1. 假如你在某个时刻离开了第ii级台阶,那一位的标识符就会翻转,U变成D,D变成U。问你从每一级台阶开始走,直到离开楼梯(可以下端或上端),需要多少时间?解题思路首先假如有cntucnt_u个U,cntdcnt_d个D,那么你从最上端的cntucnt_u级台阶开始原创 2016-11-01 20:26:12 · 1343 阅读 · 0 评论