摘要: 设最大边长为z的三角形有c(x)个,另外两条边为x和yx+y>z -> z-y#include#includeusing namespace std;const int MAXN=1000000+10;long long ans[MAXN];int main(){ ans[3]=0; for(lon... 阅读全文
posted @ 2013-07-30 22:48 hr_whisper 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 因为是两个不一样的皇后(一黑一白),所以考虑顺序。(一开始以为是一样的,坑啊)先考虑横向冲突的(设n为行,m为列,且n#include#includeusing namespace std;int main(){ unsigned long long n,m; while(scanf("%llu%l... 阅读全文
posted @ 2013-07-30 20:19 hr_whisper 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 又是汉诺塔~回顾一下汉诺塔的移动过程。从左到右设为A,B,C 3个盘子的时候1: No.1 A -> C2: No.2 A -> B3: No.1 C -> B4: No.3 A -> C5: No.1 B -> A6: No.2 B -> C7: No.1 A -> C.把第n个盘子移动到C前,第... 阅读全文
posted @ 2013-07-29 22:21 hr_whisper 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 找规律就好了。会发现对称性。。。。用的找规律代码:#include #include using namespace std; int cnt=1;void f (int n, char A, char B, char C){ if (n == 1) { cout " ... 阅读全文
posted @ 2013-07-29 18:39 hr_whisper 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目:n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上,即各柱子从下往上的大小仍保持如下关系 :n=m+p+qa1>a2>...>amb1>b2>...>bpc1>c2>...>cq计算所有... 阅读全文
posted @ 2013-07-29 18:32 hr_whisper 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 水题。轻松的AC了题目大意:在n*n的网格中填了一些大写字母,你的任务是把剩下的格子也填满大写字母,使得任意两个相邻的格子(即有个公共边的格子)中的字母不同,如果有多重填法,按照要求从上到下,左到右的顺序把所有格子连接起来得到的字符串的字典序尽量小。很简单的,直接一位一位实验,看是否冲突,从A到Z。... 阅读全文
posted @ 2013-07-29 18:22 hr_whisper 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 看到限时3S,自己写了一个二重循环的,然后华丽的 TLE。。。T T瞄了瞄书上,作者的思路果然是很好。膜拜中。他只枚举了终点,然后用二分查找。用到了lower_bound函数,这个lower_bound(first,last,val)在first和last中的前闭后开区间进行二分查找,返回大于或等于... 阅读全文
posted @ 2013-07-29 16:12 hr_whisper 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 看题传送门:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=27&page=show_problem&problem=2544题目大意:有一个老式的计算器,只能显示出n位数字。有一天,你无聊了... 阅读全文
posted @ 2013-07-28 23:58 hr_whisper 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有F+1个人来分N个圆形派,每个人得到的必须是一整块派,而不是几块拼在一起,且面积要相同。求出每个人最多能得到多大面积的派(不必是圆形)其实就是分吃的^ ^,要均分.二分查找的应用。找一个派最大的面积maxa,那么能得到的就是在0~maxa。然后不断的取中间的面积mid进行判断是否满足要求... 阅读全文
posted @ 2013-07-28 17:55 hr_whisper 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 又水一题题目大意就是给出一个长度为n的序列,找出两个整数Ai和Aj(i#include using namespace std;int main(){ int T; scanf("%d",&T); while(T--) { int n,m,t,diff; scanf("%d%d%d",&n,&m... 阅读全文
posted @ 2013-07-27 20:27 hr_whisper 阅读(167) 评论(0) 推荐(0) 编辑