zstuoj 4243 牛吃草 ——(二分+两圆交)
摘要:这题上次补了以后忘记写博客了,现在补一下。 有两个注意点,第一是两圆相交的模板。可以通过任意一种情况手推出来。 第二是,实数二分要注意不用ans记录为妙,因为可能因为eps过小,导致ans无法进入记录答案的语句中(ans过大可能又会有误差),直接用一个l或者r记录一下即可。 代码如下:
阅读全文
阶梯博弈
摘要:由于bestcoder的一道题,去学习了一下阶梯博弈。 大概理解如下:有n层的阶梯,每一层上都有若干的石子,可以将任何一层的石子,拿出至少一个,放到它的上一层上去,最后一个不能进行操作的人输。 那么,必胜策略是怎么样的呢?首先,我们令最高层为0层,依次为1,2,...,n-1层。那么,结论就是奇数层
阅读全文
hihoCoder #1199 : Tower Defense Game ——(树型dp)
摘要:题目链接:https://hihocoder.com/problemset/problem/1199。 题意:一棵以1为根的树,每个点有一个p值和q值,到这个点需要当前分数大于等于p,然后消耗掉(p-q)的分数。问一种遍历方式,使得一开始在1所需的分数最小并能够遍历完所有的点。 分析见代码:
阅读全文
2016 China-Final-F题 ——(SA+二分)
摘要:其实是一个很经典的字符串问题,但是我们比赛的时候没出。 先看一下UVA11107这题,题意是,找出最长的一个字符串,在至少一半的字符串中出现过。只要把所有的字符串用不同的分隔符分开,然后SA一下,最后二分长度,用height将字符串分组,判断是否超过一半即可。要注意的是,因为分隔符单单用个char已
阅读全文
ACM之路(20)—— Splay初探
摘要:由于数据结构上老师讲了AVL树的rotate,然后去学了一下treap和Splay,这些数据结构还真是神奇啊! treap暂时只知道名次树的作用(就是一段动态变化的有序数列,找第K大的元素,用set显然是O(n)的。。)。 好,正式介绍SplayTree这个神奇的数据结构:暂时的理解是,用于解决一些
阅读全文
2016 ICPC China-Final 现场赛总结
摘要:距离比赛结束快有一个礼拜了才抽出时间来写这篇总结。今年比赛打了也有5场了(4场区域赛+1场省赛),也取得了不错的成绩(区域赛两银),总的来说第一年就取得这成绩还是挺高兴的。我们队,我自己都渐渐的趋于成熟。明年的目标毫无疑问的是拿金,那就不能再像今年这么水,这么躺了。 这场比赛基本上都是队友搞定的。深
阅读全文
codeforces 742D Arpa's weak amphitheater and Mehrdad's valuable Hoses ——(01背包变形)
摘要:题意:给你若干个集合,每个集合内的物品要么选任意一个,要么所有都选,求最后在背包能容纳的范围下最大的价值。 分析:对于每个并查集,从上到下滚动维护即可,其实就是一个01背包= =。 代码如下:
阅读全文
UVALive - 4513 Stammering Aliens ——(hash+二分 || 后缀数组加二分)
摘要:题意:找一个出现了m次的最长子串,以及这时的最右的位置。 hash的话代码还是比较好写的,,但是时间比SA多很多。。 1 #include <stdio.h> 2 #include <algorithm> 3 #include <string.h> 4 using namespace std; 5
阅读全文
HDU 5410 CRB and His Birthday ——(完全背包变形)
摘要:对于每个物品,如果购买,价值为A[i]*x+B[i]的背包问题。 先写了一发是WA的= =。代码如下: 正解是,先跑一遍价值为A[i]+B[i]的01背包,再跑一遍价值为A[i]完全背包。所以上面的代码错了大概是因为,这两个背包的第二个for的方向是不同的,没办法一起跑吧(除非用另外一组变量记录下到
阅读全文
趣题:寻找出现了奇数次的数
摘要:看到16级的做广工的新生赛某题,找一组数中出现了奇数次的两个数(其他数都出现偶数次),竟然不会= =。 解释在此:http://www.matrix67.com/blog/archives/511。 当然,手写hash表应该也是可以的。。
阅读全文