随笔分类 -  网站->POJ

摘要:题解 (搬运一个原来博客的论文题) 抱着板题的心情去,结果有大坑 就是S == T的时候也一定要走,++K 我发现按照论文写得$O(n \log n + m + k \ log k)$算法没有玄学A 快,不开心啊(或者我松教水平不高啊) 论文里主要是怎么样呢,把所有边反向,从T开始求最短路,然后求一 阅读全文
posted @ 2018-05-31 17:53 sigongzi 阅读(249) 评论(0) 推荐(0)
摘要:题解 有种迷一样的讽刺效果 每个城市有1000头牛,然后你现在知道对于自己政党每个城市的选票,把城市划分成三个州,保证在至少两个州内获胜 找出前2K大的然后random_shuffle,直到前K个加起来和后K个加起来都满足超过半数也就是K × 500 代码 cpp include include i 阅读全文
posted @ 2018-05-16 13:35 sigongzi 阅读(164) 评论(0) 推荐(0)
摘要:题解 求一个最小的半径的球,包括三维平面上所有的点,输出半径 随机移动球心,半径即为距离最远的点,移动的方式是向离的最远的那个点移动一点,之后模拟退火就好 代码 cpp include include include include include // define ivorysi define 阅读全文
posted @ 2018-05-16 11:39 sigongzi 阅读(273) 评论(0) 推荐(0)
摘要:题解 开始学习随机化算法= = 模拟退火的板子往上套就行,莫名其妙的就过了 可能数据太水,实现的具体细节可看代码 代码 阅读全文
posted @ 2018-05-16 11:11 sigongzi 阅读(211) 评论(0) 推荐(0)
摘要:题解 置换群的快速幂,然而我姿势水平不高,样例过不去,然后才明白这个置换的意思是这个位置上的数代表要把原位置的某个数换过来 需要新开一个数组存结果 代码 cpp include include include include include include include include inclu 阅读全文
posted @ 2018-05-15 19:30 sigongzi 阅读(149) 评论(0) 推荐(0)
摘要:题解 把直线的斜率分解成二维,也就是随着z的增加x的增量和y的增量 我们发现一条合法直线向上移一点一定能碰到一条横线 知道了这条横线可以算出y的斜率 我们旋转一下,让这条横线碰到两条竖线,就可以算出x的斜率,进而判断直线在不在平面内 代码 cpp include include include in 阅读全文
posted @ 2018-05-15 09:05 sigongzi 阅读(176) 评论(0) 推荐(0)
摘要:原题戳这里 开始一小段时间的POJ计算几何练习计划(估计很快就会被恶心回去) 题解 用一条平行于y轴的扫描线,计算两条扫描线之间多少格子被覆盖了 精度可tm变态了,可能是因为题目要求的关系吧,需要上取整和下取整,可能有一点误差也给算进去了,精度掉的很大 看一下上一次的上边界是哪里,不要重复计算 代码 阅读全文
posted @ 2018-05-05 10:26 sigongzi 阅读(154) 评论(0) 推荐(0)
摘要:原题戳这里 题解 搜索是个好东西,不是人人都会搜 迭代加深,然后用一个函数估值,值是除了和左上连通的部分还有几个颜色不同的块,如果走的步数加上估值大于当前枚举的深度就跳出 代码 cpp include include include include include include define MA 阅读全文
posted @ 2018-05-03 18:05 sigongzi 阅读(201) 评论(0) 推荐(0)