- 博客(8)
- 收藏
- 关注
原创 poj 2234 Matches Game
思路:这里摘自一篇博客的一部分 这里是博客链接取火柴的游戏题目1:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根, 可将一堆全取走,但不可不取,最后取完者为胜,求必胜的方法。 题目2:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根, 可将一堆全取走,但不可不取,最后取完者为负,求必胜的方法。嘿嘿,这个游戏我早就见识过了。小时候用珠算玩
2016-01-18 20:27:14 442
原创 zoj 3057Beans Game
思路:dp[i][j][k]=0代表必败态,为1时必胜,由博弈论的知识可知有必败态操作一次得到的状态一定是必胜态,然后我们倒着推出所有的必胜态就可以了,注意题目的内存限制比较严格,因此数组用bool型 。这是我的第一道博弈论的题目,还有许多东西不清晰,这里放一个讲解的比较详细的链接博弈论题目小结,里面还有有一些资料或博客的链接,都很不错。#include #include #inclu
2016-01-18 16:59:09 556
原创 coj1261: 水仙花数
思路:先打个表将所有的水仙花数求出来,然后每输入两个数从头开始查就可以了#include #include #include #include using namespace std;int a[100000];int tmp[10000];int main(){ int num = 0; for(int i=1;i<10;i++) for(int j=0;j<10;j
2016-01-14 02:33:07 507
原创 coj1254: 开机
思路:从第二台机器开始排序,每次都先开启时间最长的,并及时更新最大值#include #include #include #include int a[100000];using namespace std;int main(){ //freopen("in.txt","r",stdin); int n ; while(scanf("%d",&n)!=EOF) { f
2016-01-14 02:16:23 406
原创 coj 1259: 跳跳
思路:题目意思比较明确,思路是采用优先队列每次取出次数最小的点进行bfs,这里要注意一个坑,(因为这个wa了n发。。。)遇到2~9的点时,要立即入队所有值相同的点,而不是先把这个点入队等过一段时间排到这个点时再把相同值的点入队,这里举一个简单的例子S0033E000这里第一次入队(0,1)位置的0和(1,0)位置的3,如果不将另一个3入队,出队先出0的话,这时另一个3就会被访问,但
2016-01-14 02:14:06 440
原创 coj1098: Happy watering
思路:采用贪心的策略,每次都选择最矮的书浇水,高度差为0时或k次浇水后结束,每次更新最短距离#include #include #include #include #include using namespace std;struct note{ int h,d; bool operator < (const struct note &tmp)const {
2016-01-13 16:04:14 378
原创 csuoj 1559 外卖的撕‘哔’大战
思路:对优惠按满的钱进行排序,然后分别计算出每一次点外卖的钱,最后相加,详见代码#include #include #include #include using namespace std;struct note{ int x,y;};int cmp(note aa,note bb){ return aa.x<bb.x;}note a[100000],b[1
2016-01-13 15:28:18 960 1
原创 poj 2109
题意:给出两个数字n,p,求k使得k的n次方等于p。题目中p的值很大,容易想到的是二分求k,使用高精度,在看了别人的题解后,才知道这里可以用double型代替高精度,于是代码就变得十分简单#include #include #include using namespace std;int main(){ //freopen("in.txt","r",stdin); d
2016-01-13 13:39:57 331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人