07 2017 档案
摘要:题目链接:http://poj.org/problem?id=3734 《挑战程序设计竞赛》202页。与单纯的用递推式与矩阵快速幂求第N项不同,设染到第i个方块为止,红绿都是偶数的方案数目为a,红绿恰有一个是偶数方案数目为b,红绿都是奇数方案数目为c, 则: a[i+1] = 2 * a[i] +
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6030 思路:可以推导出递推式f[i]=f[i-1]+f[i-3],用矩阵快速幂求解即可。 可以参考挑战程序设计竞赛第二版200页详细解释。 代码: 题目: Happy Necklace Time Lim
阅读全文
摘要:题目链接:http://acm.fzu.edu.cn/problem.php?pid=2265 第七届福建省赛重现赛D题,概率计算不过挺有技巧的,问了acdart兄才恍然大悟(分明看了好长时间。。。) acdart原话: b 从小到大排序, a对应有n!中排列,其中a[i]对于某个b[j]是有(n-
阅读全文
摘要:题目链接:http://codeforces.com/contest/831/problem/D 思路:由于拿到钥匙之后需要走的路程是确定的,因此关键在于如何选择钥匙。对于最靠近P位置的人来说,拿最接近P且同侧的钥匙是最划算的。 因此二分答案,每次check的时候从小到大判断对于所有的人是否都能在时
阅读全文
摘要:题目链接:http://codeforces.com/contest/831/problem/E 思路:把数字全部列出来模拟一下如下,+ 表示这个数这次放到下面,o 表示这个数这次拿走,x表示这个数已经被拿走 3 7 6 2 3 1 2 6 + + + + + o o + + + + o o x x
阅读全文
摘要:题目链接:http://codeforces.com/contest/828/problem/D 必须是一棵树!大体思路就是按照画同心圆的方法给排列出来,一号作为圆心一层一层向外扩展。 证明的话还得想想。。。 代码: 题目: D. High Load time limit per test 2 se
阅读全文
摘要:题目链接: http://codeforces.com/contest/828/problem/C 或许对于我来说的玄学做法你们并不在意。 题目大意很清楚,就是构建一个字典序最小的字符串满足给出的几个要求。直接暴力肯定不行,想优化怎么也想不出来,偶然看到一AC的代码感觉非常厉害,按照思路自己写了一遍
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3333 大意是区间求和,不过求的是所有不同元素的和。因此可以从如何去除不同元素方面入手: 离线存储所有查询并且按照区间最右端下标从小到大排序,为何要这样做后面会提到。 建树之后,从左到右遍历元素,标记下标
阅读全文
摘要:题目链接:http://poj.org/problem?id=2991 挑战程序设计竞赛书上的例题。书上的思路还是蛮巧妙的,第一遍看真的没怎么看太懂,今天算是终于弄懂了。 稍微思考即可想到如果都用向量表示的话实际上就是从s+1到n的区间更新了,每个向量都旋转一定角度最后终点坐标实际上是全部向量的和。
阅读全文
摘要:题目链接:http://poj.org/problem?id=3468 线段树区间更新模板题,加个延迟标记即可。 注意:区间大小是r-l+1,query,更新时要更新子节点,同时注意+=与=! discuss里面有数据,wa的可以看看。。。 代码: 题目: A Simple Problem with
阅读全文
摘要:期末考试忙完,希望成绩不会太差,拿个奖学金最好了。 边复习边用java写了一个自己用的程序,期间遇到了许多问题,学会了许多东西 Swing 的布局管理,JList 的MVC模式--模式,视图,控制器,对象输入输出流等等。之所以花这么长时间写主要还是相信有想法就要坚持,半途而废只会一事无成。 接下来是
阅读全文