题目:http://poj.org/problem?id=1753
这个题在开始接触的训练计划的时候做过,当时用的是DFS遍历,其机制就是把每个棋子翻一遍,然后顺利的过了,所以也就没有深究。
省赛前一次做PC2遇到了机会一模一样的题,只不过是把棋盘的界限由4X4改为了5X5,然后一直跑不出结果来,但是当时崔老湿那个队过了,在最后总结的时候,崔老湿就说和这个题一样,不过要枚举第一行进行优化。...
分类:
其他好文 时间:
2014-06-20 12:47:10
阅读次数:
205
先求出最小生成树,然后枚举树上的边,对于每条边“分别”找出这条割边形成的两个块中点权最大的两个
1.由于结果是A/B,A的变化会引起B的变化,两个制约,无法直接贪心出最大的A/B,故要通过枚举
2.不管magic road要加在哪里,加的边是否是最小生成树上的边,都会产生环,我们都要选择一条边删掉
注意删掉的边必须是树的环上的边,为了使结果最大,即找出最大的边
3.可以枚举两点,找出边,也...
分类:
其他好文 时间:
2014-06-20 09:09:03
阅读次数:
233
POJ 2282 The Counting Problem,组合数学
ACM
题目地址:POJ 2282
题意:
给出俩数n,m,求从n~m中0~9分别出现的次数。
分析:
组合数学。
只要能快速算出0~n中各个数的出现次数就能解决问题了。
要把数拆开来看,比如3456=3000+400+50+6。
然后就只要考虑后面都是0的数就行了。
0~...
分类:
其他好文 时间:
2014-06-07 15:38:04
阅读次数:
195
给定goal和limit,求1-limit中的若干个数,每个数最多出现一次,且这些数的lowbit()值之和等于goal,如果存在这样的一些数,输出个数和每个数;否则-1...
分类:
其他好文 时间:
2014-06-07 14:43:31
阅读次数:
208
http://poj.org/problem?id=1166
大致题意:输入一个3*3的矩阵,其中0=12 o'clock, 1=3 o'clock, 2=6 o'clock, 3=9 o'clock;现在需要最少的移动使9个时钟都拨到12点的位置。题中共有9种不同的移动方法,每移动一次,其对应时钟都会顺时针旋转90度。
思路:这题与模2的开关问题类似。开关只有两种状态,即开和...
分类:
其他好文 时间:
2014-06-07 13:06:48
阅读次数:
215
题目链接没大做过概率dp的题目,这题只看了一下别人的d[][]数组的定义,剩下的自己想了一会写的,居然1A。题意:给定2^n行,
2^n列,i行j列代表第i
个人赢第j个人的概率,求经过n局,哪个人赢的概率最大,比赛规则是相邻的人先比,赢的人进入下一局再与赢的相邻的人比,输的直接淘汰。分析:d[i]...
分类:
其他好文 时间:
2014-06-07 10:23:27
阅读次数:
194
AssignmentsTime Limit: 4000/2000 MS
(Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s):
1463Accepted Submission(s): 675Problem ...
分类:
其他好文 时间:
2014-06-07 08:39:25
阅读次数:
189
题目链接题意:扩展gcd模板: 1 #include 2 #include 3 #include 4
#include 5 #define LL long long 6 using namespace std; 7 8 void exgcd(LL a, LL
b, LL &d, LL &x...
分类:
其他好文 时间:
2014-06-07 07:50:13
阅读次数:
187
#include #include #include #include #include
#include #include #include #include #include #include using namespace std;int
n;const int INF=0xfffffff;s...
分类:
其他好文 时间:
2014-06-07 06:11:19
阅读次数:
204