POJ
昂昂累世士
这个作者很懒,什么都没留下…
展开
-
POJ1753 Flip Game
几个通用的算法: 其一,遍历周围的格子 下面dx,dy以及judge之类。 其二:状态压缩,将字符数组抽象为01数组,并用位运算取反。 其三,DFS的写法,返回值而言定义为void即可,递归返回时通过return实现即可。 形参的设置,由于是递归枚举16个格子,当前状态所在的格子坐标压缩为cur作为其中一个参数;另一个参数k指翻转格子的数目。枚举的顺序是k为0-16时能否得到最优解,所以...原创 2019-01-26 15:30:15 · 167 阅读 · 0 评论 -
POJ2965 The Pilots Brothers' refrigerator
与上题都是递归枚举题,不同的是这题需要输出结果,所以使用数组保存中间结果,因为最多按16次开关,且开关位置由x,y确定,所以用两个一维数组保存每次按开关的x和y的值,而不用麻烦的使用结构体。 #include <iostream> using namespace std; int s[4][4]; int m; int r[16],c[16]; int flag = 0; void...原创 2019-01-26 16:25:34 · 270 阅读 · 0 评论 -
POJ1328 Radar Installation
一般区间问题的最优策略是选取最早结束时间,这题首先需要将每个岛屿对应的雷达区间范围求出,然后按照区间右端点大小排序,从小到大每次选取右端点作为雷达放置位置。 同时也要检查放置该雷达后有几个岛屿已经覆盖了。原则是,岛屿1,对应区间(l1,r1),岛屿2区间(l2,r2),排序后r1<r2,选取(r1,0)放置雷达,l2<r1时,该雷达也将覆盖岛屿2. 注意点: 其一,sqrt(in...原创 2019-01-26 17:29:22 · 222 阅读 · 0 评论 -
POJ2586 Y2K Accounting Bug
这题的时间花费主要在于读懂题目,题目如下: 有一个公司由于某个病毒使公司赢亏数据丢失,但该公司每月的 赢亏是一个定数,要么一个月赢利s,要么一月亏d。现在ACM只知道该公司每五个月有一个赢亏报表,而且每次报表赢利情况都为亏。在一年中这样的报表总共有8次(1到5,2到6,…,8到12),现在要编一个程序确定当赢s和亏d给出,并满足每张报表为亏的情况下,全年公司最高可赢利多少,若存在,则输出盈利额,...原创 2019-01-31 18:27:59 · 141 阅读 · 0 评论 -
POJ2109 Power of Cryptography
这题如果数据量没那么大,初学者即可解决。重点是p范围可能到达一百位数。而double可以存储10^308字方的数,也就可以解决该问题。倘就此为止,也就不会有那么多困惑了。写这题时看了很多的题解,有大佬强行用很多行代码真的贪心解决了,这题最大的困惑也就是归类在贪心里,也有人直接枚举,强行用贪心解释思想。不考虑贪心,但从double的精度考虑: 1233^7=43325295766393137025...原创 2019-01-30 19:12:01 · 131 阅读 · 0 评论