![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
挑战程序设计竞赛——常用技巧精选(1)
文章平均质量分 74
WorstCoder
能够做出困难的算法题是最快乐的事情!
展开
-
poj 2549 Sumsets
题意:寻找集合中集合能凑成a + b + c = d的最大的d值(每个值只能取一次) 分析:二分的思想,枚举a + b的值,并且保存在数组中,而后排序;再枚举d - c的值并且用二分查找找出相同的a + b值,并且做判断,是否含有重复的值 总结:题目还可以,不过又因为改错浪费了太多时间,第二天向同学请教时一下子便看到了错误,接受教训,规定好 做题时间,争取将效率提到最高 用两种方法实现原创 2015-02-10 22:18:34 · 777 阅读 · 0 评论 -
poj 3977 Subset
题意:在一个集合中找到一个非空子集使得这个子集元素和的绝对值尽量小,和绝对值相同时保证元素个数尽量小 分析:1.二分枚举的思想,先分成两个集合; 2.枚举其中一个集合中所有的子集并且存到数组中,并排序; 3.枚举另一个集合中所有的子集并且与第一个集合中的合适子集相加(可以通过二分查找在数组中找到最合适的元素) 4.这个题特别坑的地方是不能用abs库函数,只能手写,竟然写宏定原创 2015-02-12 00:09:30 · 1073 阅读 · 0 评论 -
poj 2566 Bound Found
题意:找到任意一个子区间使其和的绝对值最接近t 分析:1.这里一个不太好的地方就是没有给出询问t的数目,实测t不算很大,一个一个算便可以了 2.前缀和的思想,这道题好在需要对前缀和排序,使其在遍历时具有单调性,便可以用单调队列的思想做这个 题 3.这个题的细节地方比较多,需要注意什么时候要取小于等于或小于..... 总结:好久都没有做出来这个题,偷看别人排序的原创 2015-03-04 14:42:57 · 2029 阅读 · 0 评论 -
poj 2674 Linear world
题意:一条线上N只蚂蚁,每只蚂蚁速度固定,方向和坐标不同,碰头后掉头,求最后掉下去那只蚂蚁的名字。 题解:1.一种计算机编程的普遍思想,就是变化不一定需要体现出来、 2.这道题就是首先蚂蚁碰撞调头,但是在编程中不一定需要体现出来,碰撞调头可以等效成擦肩而过 3.还有就是蚂蚁的相对顺序总是固定的,我用的方法就是假设这条线无限长,蚂蚁可以无限制的走下去,然后 找到那个最原创 2015-03-05 12:45:41 · 1638 阅读 · 3 评论