0x01: Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1)最明显的好处是,学会Java,可以参加JavaChallenge。 (2)对于熟悉C/C++的程序员来说,Java并不难学,找本书,一两周业余时间就可以搞定了。当然,这里只是指一般编程,想熟悉所有的...
分类:
编程语言 时间:
2015-08-13 11:50:18
阅读次数:
116
该题是用dp推导博弈题的经典例子 , 仔细想想就会发现,这其实就是一个区间处理的问题 ,一般区间问题还是比较简单的一类题目 。
由于两个孩子都很聪明,所以他们一定都尽可能的选择最优方案,所以每个人当前的最优解都依赖于下一个人的最优解 。 那么怎么处理细节呢 ? 还是老调重弹,先想状态如何表示,再想状态如何转移 。
很显然,要想完整的描述状态,我们必须开四维数组,记录两堆牌当前的状态 。 ...
分类:
其他好文 时间:
2015-08-12 10:19:29
阅读次数:
119
紫书上给的是状态空间搜索,其实本题也可以用IDA*算法,因为其符合IDA*的特点 : 求最小迭代次数 。
根据旋转的规律,我们可以用几个数组来储存向各个方向旋转时改变哪些量,用来维护旋转这个操作 。另外就是估价函数:当前出现在中间八个格子中次数最多的数字设为t ,那么剩下的迭代次数就是8 - t , 如果它加上已经迭代的次数d > maxd ,则应当剪枝 。
另外想到了一个估算回溯法的时间复...
分类:
编程语言 时间:
2015-08-11 21:28:50
阅读次数:
208
由于没有专门练过概率DP , 场上硬推的,由于一点小失误WA了两发 。
我们很容易求出来d[i][j],表示前i道题,得分为j的概率 。 这样,最终打完所有题目之后猴子得任意分数的概率我们就知道了,老虎要想赢就要至少得和他一样的分数,那么就很好办了,从0~max分,不断相加概率,当概率大于P时的分数就是答案 。
细节见代码:
#include
using namespace std;
typ...
分类:
其他好文 时间:
2015-08-10 22:21:54
阅读次数:
109
2014 ACM ICPC 广州现场赛 HDU 5128The E-pang Palace HDU 5134Highway HDU 5135Little Zu Chongzhi's Triangles2014ACMICPC北京现场赛 HDU 5120 Intersection2014ACMI...
分类:
其他好文 时间:
2015-08-09 20:18:35
阅读次数:
112
记得以前做过一道经典的题目,也是选k套筷子,那么不难描述状态 ,即用d[i][j]表示在前i根筷子里选j双的最优解, 该题的唯一不同就是多加了一根最长的筷子 , 为了解决这个问题,就要想办法在状态转移的时候排除最长筷子的影响 。
我们还是先来考虑简单情况,假设没有最长的筷子,那么对于每一个状态只有两个决策 :选第i根筷子还是不选 。因为已经排好序了,所以选相邻两根筷子最优,因此如果不选第i根,状...
分类:
其他好文 时间:
2015-08-09 17:13:09
阅读次数:
92
好歹我是数学专业的学生,还是要写写训练的时候遇到的数学问题滴~~ 在ACM集训的时候在各高校OJ上也遇见过挺多的数学问题,例如大数的处理,素数的各种算法,几何问题,函数问题(单调,周期等性质),甚至是各种数学定理或公式的变形。其实算法本身也属于数学研究的范畴(计算机本就是数学的衍生嘛),诸如众...
分类:
编程语言 时间:
2015-08-08 21:08:53
阅读次数:
187
A题是哪个象棋的题:
B题hdu4122:
好像是水过去的,看到题解要用队列,就是简单的枚举加判断条件过去的。
C题hdu4123:
用到MRQ算法查询区间内的最大最小值
G题hdu4127
是个填颜色的题:
是把所有点分成3部分,已经和00连通的,还有就是下一次需要填的颜色部分,剩下的部分就是填不了的,
用IDA算法,分开写几个小程序,填充颜色同一个颜色的程序,当前状况需要改变最...
分类:
其他好文 时间:
2015-08-07 22:23:45
阅读次数:
271
这本书是余立功主编的,代码来自南京理工大学ACM集训队代码库,所以小编看过之后发现确实很实用,适合集训的时候刷题啊~~,当时是听了集训队final的意见买的,感觉还是不错滴。
分类:
编程语言 时间:
2015-08-06 23:58:55
阅读次数:
493
A。dp
但是m次数太多,开不出那么大的数组,所以要用算完的值替代新的值,这样来回循环,滚动数组,我用的方法比较麻烦,看到有%2的,也有^1的
我写的是每一次从0到n循环一边,能到的话概率相加
还有一种思路是当前的概率至与上一次的概率有关,每一次都是dp[i][j] = dp[i-1][ (j-x+n)%n ] + dp[i][ (j+x)%n ]
I题就是硬暴,开始想用dfs,发现不对...
分类:
其他好文 时间:
2015-08-05 22:20:27
阅读次数:
108