
数论
泪无痕ji
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 4602 Partition
第一次做高校联合的题目,有两个感受 首先 :我的水平太差了 其次 :感觉题的坑太多了 (这应该是我的水平太低 思维不够缜密导致的吧) 这道题应该算是数论的题吧 看着解题报告做的 下面说说解题报告 我们可以特判出 n 对于 1 第一种情况,被选出的不包含端点那么有 (n – k − 1)种情况完成上述操作,剩下未被圈的点之间还有 (n – k − 2)原创 2013-07-24 22:15:29 · 781 阅读 · 0 评论 -
uva 305 Pseudo-Random Numbers
随机数算法 刚开始做这道题的时候没想到这么简单 以为循环会很大 标记的做法会超时 可是谁知道呢 这道题的测试数据很弱 居然不会超时 而且居然乘法不会溢出 #include #include int visit[1000000]; int main() { #ifdef LOCAL freopen("in.txt","r",stdin);原创 2013-08-13 17:12:05 · 584 阅读 · 0 评论 -
uva 10916 poj 2661 Factstone Benchmark
题意:copy 别人的 说实话刚开始没有看懂题意 Amtel公司宣布他们会在2010年发行128位元的计算机, 在2020年发行256位元的计算机, 在这个策略之下往后每10年就发行2倍位元的计算机。 (Amtel公司在2000年发行 64位元,1990年发行32位元计算机, 1980年发行16位元计算机,1970年发行8位元计算机, 1960年发行4位元计算机,也是第一部计算原创 2013-08-14 11:18:07 · 656 阅读 · 0 评论 -
uva 573 - The Snail
还好这道题不靠高精度 要不我也不知道怎么做了 #include #include #include #define eps 1e-8 int main() { #ifdef LOCAL freopen("in.txt","r",stdin); #endif // LOCAL double H,U,D,F; while(scanf("%l原创 2013-08-15 16:29:03 · 560 阅读 · 0 评论 -
uva 10879 - Code Refactoring
说实话这道题的测试数据比较弱 一遍扫过去居然没超时 至于有什么方法减少时间的我也没想出来 想了一下先筛素数会不会快一点 但是筛素数花的时间也不少啊 #include #include int main() { #ifdef LOCAL freopen("in.txt","r",stdin); #endif // LOCAL i原创 2013-08-15 17:24:18 · 554 阅读 · 0 评论 -
uva 846 - Steps
写出几个找规律 公式看程序 还需要判断一下 #include #include int main() { #ifdef LOCAL freopen("in.txt","r",stdin); #endif // LOCAL int T; scanf("%d",&T); while(T--) { int x,y;原创 2013-08-16 10:42:48 · 515 阅读 · 0 评论 -
uva 10499 - The Land of Justice
原来的表面积 和切了后增加的表面积的比值 注意一点 2^31 *25 超出整形了 用long long 保险一点 #include #define LL long long int main() { LL N; while(scanf("%lld",&N)) { if(N < 0)break; if(N == 1)p原创 2013-08-16 11:17:10 · 522 阅读 · 0 评论 -
uva 10025 - The 1 2 ... n = k problem
负数全转化为正数来做 前N项的和 (Sn - sum)%2==0 找到第一个满足这个等式的n Sn - sum 大于零 sum = 0 是特殊数据特殊处理 #include #include int main() { #ifdef LOCAL freopen("in.txt","r",stdin); #endif // LOCAL i原创 2013-08-18 10:43:29 · 719 阅读 · 0 评论 -
uva 10790 - How Many Points of Intersection
推公式的题总是没耐 看了看别人的 自己想了想就想通了心 http://www.cnblogs.com/xiaocai905767378/archive/2011/04/27/2030213.html #include #include #include #define LL long long using namespace std; int main() {原创 2013-08-18 16:29:45 · 555 阅读 · 0 评论 -
uva 10014 - Simple calculations
这到题推公式其实并不难 主要是耐心和仔细的写好每一项 刚开始推的时候心很烦 推了半天都推不出来索性不推了 后来静下心来一下就推出来了 最后为 a[1]=(n*a[0]+a[n+1]-2*n*c[1]-2*(n-1)*c[2]-...-2*c[n])/(n+1) #include int main() { int N; while(scanf("%d",&原创 2013-08-13 15:07:43 · 517 阅读 · 0 评论 -
uva 107 - The Cat in the Hat
题意:英语比较直接copy别人的 这道题也可以用枚举来做 想了一下比较难弄就推公式做了 题目意思就是小猫的帽子里面有n个小猫,高度为上一个小猫的1/(n+1),然后再依次n个...直到最后一个高度为1的为止。 题目给出第一个小猫的高度个最后高度为1的小猫个数,输出不工作的小猫的个数和小猫的总高度。 这个题就是数学公式: 设输入a和p,设每个小猫帽子里面有n个小猫,层原创 2013-08-12 17:13:19 · 834 阅读 · 0 评论 -
uva 408 - Uniform Generator
永远也别轻易相信测试数据找到的规律 他们只会坑死你 一切都应该从问题本身入手原创 2013-08-12 19:33:58 · 639 阅读 · 0 评论 -
uva 10161 - Ant on a Chessboard
#include #include #include #define LL long long int main() { LL N; while((scanf("%lld",&N),N)!=0) { LL t = sqrt(N);//计算ant在第几层//每层都已平方数开头或结束 if(t*t < N ) t++; LL原创 2013-08-01 17:03:18 · 564 阅读 · 0 评论 -
uva 10110 - Light, more light
题意:C=A*B 只有 A =B的时候操作的次数才是奇数 否者为偶数 这样就只有完全平方数才满足 于是代码就很简单了 #include #include #define LL long long int main() { LL n; while((scanf("%lld",&n),n)!=0) { LL t = sqrt(n);原创 2013-08-01 19:58:32 · 619 阅读 · 0 评论 -
uva 568 - Just the Facts
这道题跟阶乘的末尾有多少个零非常的像啊 #include int main() { #ifdef LOCAL freopen("in.txt","r",stdin); #endif // LOCAL long long N; while(scanf("%lld",&N)!=EOF) { long long resul原创 2013-08-04 18:36:59 · 584 阅读 · 0 评论 -
uva 10392 - Factoring Large Numbers
这道题不考虑特殊数据都能过 比如 0 1的时候就直接是输出空格的 没其他的输出 看来测试数据没这样的数据 但是我们写程序还是写得严谨一点 我写了 后来提交的时候又删了这道题需要的知识是 筛素数 需要比较快的做法 否者会超时 然后从头到尾扫一遍 满足条件的就输出 注意同一个因子可能出现多次 #include #include #include原创 2013-08-19 09:26:47 · 577 阅读 · 0 评论 -
uva 550 - Multiplying by Rotation
题意:给一个进制数 最后一位数 和 乘数 要求求出最小的位数 满足 最后一位数变成第一位 其余的数不变 位置可以变 下面是copy 别人的分析: 原文地址:550 - Multiplying by Rotation 解题报告" style="text-decoration:none; color:rgb(180,173,150)">UVA 550原创 2013-08-20 10:07:32 · 681 阅读 · 0 评论 -
uva 10061 - How many zero's and how many digits
这道题有点考精度啊 自己没用精度算的M 出错了 然后贴别人用精度算的就过了 每个数必然可以分为素数相乘 最后看含有进制的素数有多少个 找到最小的一个输出 例如 : 10 10 进制数 10 含有 2 和5 两个素数他们的个数都是1个 10的阶乘中含有 2 和5 的个数分别为: 9 ,1; 所以10的阶乘末尾在10进制下有1个零原创 2013-08-19 21:50:10 · 767 阅读 · 0 评论 -
uva 10177 - (234)-D SqrRectsCubesBoxes
这道题就是推公式 我们看测试数据的时候要谨慎 不能盲目的相信测试数据 也不能忽略测试数据的作用 例如这道题 要是聪明点的一看测试数据基本上就知道公式是什么了 省时省力 还不会错 任意两条线可以构成一个矩形 正方形也是 所以最后要减去 N+1 条边中选2条 N*(N+1)/2 几维的几次方 正方形的比较好想 就是原创 2013-08-20 15:48:20 · 610 阅读 · 0 评论 -
uva 253 - Cube painting
1,2,3,4,5,6六个面分别朝上 判断是否匹配 不匹配则顺时针旋转总共三次 每次都要判断是否匹配 总共24种状态 每种状态判断一遍 满足就输出TRUE 否则输出FALSE 哎 代码写得好搓 #include #include int rot_up(char *p)//返回1说明完全匹配了 { char q[4]; q[0] = p[6];原创 2013-08-20 17:12:35 · 841 阅读 · 0 评论 -
HDU 4611 Balls Rearrangement
这道题第一眼看上去就知道是数论的题 可惜做的题少了 不知道怎么下手 自己推了很久的公式也没退出来 后来看了别人的解题报告发现是最小公倍数的问题 再加上一个模拟就解决了 #include #include #include #include #define LL long long using namespace std; LL gcd(LL a, LL b) {原创 2013-09-12 16:04:15 · 606 阅读 · 0 评论