数学-规律题
文章平均质量分 65
Kim0403
这个作者很懒,什么都没留下…
展开
-
POJ 3175 Finding Bovine Roots
以整数形势给出了小数部分,那么就使它变成相应的整数部分为0的小数,再构造一个和它略有误差的小数使两者同时平方然后向下取整,如果取整结果相同,那么就两者整数部分同时增加1。暴力循环,直到两者误差够大,就出现了那个最小整数。但是数据有0.99 0.998 这种类似情况,所以需要处理一下。#include#include#include#include#include#incl原创 2016-07-28 17:29:57 · 343 阅读 · 0 评论 -
HDU 4588 Count The Carries
从a加到b,统计二进制进位总次数,纯粹暴力,肯定超时。所以转换成统计从0-a二进制表达的各位1的个数,0-b各位的1的个数,后者减前者对应位,即可求出每位有多少个1。然后当前位1的个数/2,就是当前位的总进位数,后面的加上前一位答案除二,再除二,累加即可推出总数。那么如何统计每一位上1的个数呢???卡壳卡了两个小时……以下是规律: 1 1 1原创 2016-07-27 16:46:41 · 442 阅读 · 0 评论 -
CodeForces 547A Mike and Frog
求循环节很关键。还有,得确定循环次数。比如青蛙三次达到a1,花四次达到a2,那么循环12次时,也可以同时到达a1,a2#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#i原创 2016-07-11 22:23:31 · 583 阅读 · 0 评论 -
CodeForces 682A Alyona and Numbers
开始竟然交了两重循环。果然超时。有规律可循,除以5就可以嘛。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define CPY(A原创 2016-07-08 21:40:53 · 379 阅读 · 0 评论 -
CodeForces 342A Xenia and Divisors
题目挺水,只有“1 2 4”,”1 2 6“,”1 3 6“这三种情况符合。所以就简单多了。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#inc原创 2016-07-08 08:41:25 · 758 阅读 · 0 评论 -
HDU 5703 Desert
我场上不怕时间不够,慢慢来以下,第一行是总量,第二行是分配方式,第三行是方法数及其二进制表示111 122 112 1033 12 21 1114 10044 31 13 22 211 112 121 11118 100055 41 14 32 23 212 122 221 311 113 131 2111 1121 1211 1112原创 2016-07-30 01:21:55 · 376 阅读 · 0 评论 -
HDU 5710 Digit-Sum
5*2=10,S(5*2)=1,2*S(5)=10;6*2=12,S(6*2)=3,2*S(6)=12;7*2=14,S(7*2)=5,2*S(7)=14;8*2=16,S(8*2)=7,2*S(8)=16;9*2=18,S(9*2)=9,2*S(9)=18;规律显然,其实就是满十进1,每位数字之和便小了9。假设n里有L位数为5-9,那么显然满足:S(2n)原创 2016-07-30 01:58:23 · 784 阅读 · 0 评论 -
CodeForces 166E Tetrahedron
这题是个规律题,我的好友们有用python跑出来规律的有用离散数学的关系矩阵计算出来的,与自己看出来的我用了dp…………int main() { LL ans=0; int n; cin>>n; for (int i=2; i<=n; ++i) { if (i%2==0) { ans= (ans+1) *3%MOD; } else { a原创 2016-07-14 15:43:44 · 459 阅读 · 0 评论 -
Astar Round2A 1001 ALL X
全是由数字x组成的m位数可表示为(10m-1)/9*x。则判断 (10m-1)/9*x%k == c 的真假可转化为判断 (10m-1)*x%(9*k) == 9*c 的真假。(对于加减乘运算,取模可以移动,对于除法不可行。但此处 10m-1 表示有m个9组成的数,一定可以整除9,故可将9和k放在一起当模数)。接下来用快速幂就可以了。比赛时,一直想着用大数模板………原创 2016-06-11 17:42:40 · 348 阅读 · 0 评论