POJ
Masker_43
这个作者很懒,什么都没留下…
展开
-
POJ 1328【Radar Installation】
题目链接思路:参见AC_hell的Blog。贪心。如何贪心?我们首先把每个雷达换成点,把岛屿换成雷达,让岛屿reach out for雷达。雷达建在海岸线即x轴上,显然雷达应建在一些重叠的区域内。如何选取?把每个岛屿形成的等大的圆与x轴的两个交点记录为一个区间,只要有一个雷达建在这个区间里,那么这个岛屿就被照顾到。所以我们将所有的区间的L从左到右排序,遍历所有的区间,若有重叠则 ans...原创 2019-04-25 18:58:36 · 99 阅读 · 0 评论 -
POJ 2993【Emag eht htiw Em Pleh】
题目链接思路:如果之前写的Help Me with the Game(Blog) 是一道一题,那么 “Emag eht htiw Em Pleh” 恐怕也是。代码:644K 0MS//644K 0MS#include <iostream>#include <cstring>using namespace std;char mp[9][9...原创 2019-05-08 20:47:59 · 334 阅读 · 0 评论 -
POJ 2996【Help Me with the Game】
题目链接思路:一题。纯考格式。代码:648K 0MS//648K 0MS#include <iostream>#include <cstring>using namespace std;char mp[9][9];//using from 1..8void input(){ memset(mp,0,sizeof(mp)); c...原创 2019-05-08 20:00:46 · 104 阅读 · 0 评论 -
POJ 1573【Robot Motion】
题目链接思路:模拟,有一个坑。实际上这个坑是很好想到的,我也确实想到了,但是没有深入根据程序一步步走,还是通过看题解才明白。动手组一个对应样例看一看,说不定就会轻松的解决问题,固执没什么好结果。代码:WA代码:#include <iostream>#include <cstring>using namespace std;const int ...原创 2019-05-08 17:55:56 · 133 阅读 · 0 评论 -
POJ 2632【Crashing Robots】
题目链接思路:简单模拟。把方向换成数字,如下处理转向问题:int ans;switch(ins){ case 'L' : ans = (rob[t].dir + n%4) % 4 ; rob[t].dir = ans ? ans : 4 ;break; case 'R' : ans = (rob[t].dir + 4 - n%4) % 4; rob[t].di...原创 2019-05-08 16:34:07 · 127 阅读 · 0 评论 -
POJ 2965【The Pilots Brothers' refrigerator】
题目链接思路:因为刚做完Flip Game嘛,很快就敲出了第一版代码~可是TLE了,又没有别的办法,只能尝试把判断符号 ‘+’‘-’ 改成判断 bool 这样子…然后WA…先贴出WA部分,你可以试着想想为什么。 //这里是dfs()中的第一部分:停搜条件 if(flag) return ; if(row == 5) return ; if(deep == ...原创 2019-04-25 15:52:57 · 106 阅读 · 0 评论 -
POJ 1008【Maya Calendar】
题目链接思路:一题。用 string 数组存名字。days 是当前已经过完了多少天。代码:668K 32MS//668K 32MS#include <iostream>using namespace std;string Haab[19]={ "pop", "no", "zip", "zotz", "tzec", "xul",...原创 2019-04-29 17:41:15 · 116 阅读 · 0 评论 -
POJ 1753【Flip Game】
题目链接思路:其实自己并没有思路Anyway,第一时间想到的肯定是dfs:首先,翻一个棋子可以想成掐住这一格,翻一个板子。那么同一个板子翻两次是没有意义的。这点很容易想通。明白了上面这条,就明白了每一局棋最多翻16次。然后呢,就是写dfs(),而一般这种题的 dfs() 都不是那么好写的,这里略作点评。dfs:首先确定使用什么变量:当前在哪一格,要记录坐标row、col;求步数...原创 2019-04-24 22:48:22 · 159 阅读 · 0 评论 -
POJ 3239【Solution to the n Queens Puzzle】
题目链接思路:第一次做m皇后问题,用了深搜,TLE。注意这里的深搜可以逐列搜索,而深度也无需记录,因为可以用列数充当深度。dfs() 只有列数一个参数。并且这里的 flip() 比较特殊,我使用的方法是记录一个三维的标记数组,第一维代表已经填充的皇后造成的标记,所以每次翻转要用 memcpy(rem[y] , rem[y-1] , sizeof(rem[y-1]));以便回溯时消除标...原创 2019-04-29 13:59:07 · 153 阅读 · 0 评论 -
POJ 1068【Parencodings】
题目链接思路:又是一道一题啦,看似比较复杂还是没什么难的,一步步写出来就行了。我采用的方法是将 P编码 解码成括号串,再计算出 W编码 。可能重编码时候需要先想好怎么算吧,利用每段匹配括号内左右各半的性质也许v会好解一些。代码:660K 0MS//660K 0MS#include <iostream>using namespace std;con...原创 2019-05-01 17:38:14 · 164 阅读 · 0 评论 -
POJ 3295【Tautology】
题目链接思路:这类题一看就是要用栈啦,我的思路是读入 string 后从后往前操作。如果遇到数字 (p、q、r、s、t) 就压栈,遇到运算符 (K、A、N、C、E) 就弹栈运算并且将子结果压栈。但是我虽然想到了思路,却没敢写,因为我总觉得可以有更简单的方法判断是否恒真,但是一搜题解好像大家都是循环做的。还是要敢做,哪怕不够优呢。太没自信,这点我要检讨。代码:672K 0MS...原创 2019-04-25 22:35:21 · 198 阅读 · 0 评论 -
POJ 2586【Y2K Accounting Bug】
题目链接这题是tm一个翻译题吧。即使这样我也WA了翻译:感谢康文骐的Blog。思路:因为后两个月是盈利的关键,并且依然要保证连续 5 个月亏损,所以要把每组中的亏损月往后放。首先给大家逐字逐句翻译一遍:Accounting for Computer Machinists (ACM) has sufferred from the Y2K bug and lost some vita...原创 2019-04-25 20:09:38 · 186 阅读 · 0 评论 -
POJ 3087【Shuffle'm Up】
思路:管什么颜色不颜色,就是串串。模拟题。(第一次)用 map,判断每次得到的串串是不是新串,如果不是就 continue,是则 break 输出 -1。因为每一个串只有一种产生方法,其左串和右串都是固定的,那么利用反证法,环路不可能突然成在中间,那样会导致某个串有两个不同的来源。因此,环路必然经过首串。所以,只需要判断每一次产生的串是否与第一次得到的串串相同即可。注意:...原创 2019-05-09 18:57:12 · 124 阅读 · 0 评论