- 博客(6)
- 收藏
- 关注
原创 Good Bye 2014 A B C D E
A:签到,从左往右走一遍判断下有没有遇到t即可B:先利用floyd求出传递闭包,然后利用这个传递闭包贪心小的尽量往前放即可C:贪心的策略,放的顺序其实根据拿的顺序就可以确定的,所以只要在拿的顺序上从左往右扫一遍即可D:先DFS预处理出每条边两边点的个数,然后三元组对于每个边经过都是n - 2次,所以一个边都会被计算到n - 2 * 一边点 * 另一边点个数
2014-12-31 22:26:39 958
原创 UVA 12563 Jin Ge Jin Qu hao(DP)
题目链接:http://uva.onlinejudge.org/external/125/12563.pdf思路:DP,用01背包的思路,每次记录下每个时间的最大歌曲数,最后找答案先满足歌曲数最大,在满足时间最大#include #include #include using namespace std;const int N = 55;int T, n, t
2014-12-29 23:38:12 1491
原创 SWUN 1763
SWUN 1763题目链接思路:先把序列排序,然后对于某个最佳答案,肯定有一个位置值是不用变的,那么只要能高效维护每个位置的答案即可,这个只需要从左往右和从右往左各扫一遍,记录下左边和右边答案即可,第二遍扫的时候更新一下最大值即可代码:#include #include #include using namespace std;typedef long l
2014-12-29 15:41:48 738
原创 SWUN OJ 1749(DP + 线段树)
SWUN 1749题目链接思路:lis一样的状态转移方程,不过要利用线段树去维护,每次更新到i,相应的维护i - d之后的区间的最大值,不断转移即可代码:#include #include #include using namespace std;#define lson(x) ((x<<1)+1)#define rson(x) ((x<<1)+2)
2014-12-29 15:39:18 938
原创 HDU 5151 Sit sit sit(区间DP)
HDU 5151 Sit sit sit题目链接区间DP+组合计数问题,转移方程为,每次选当前区间最后一个放的位置,然后乘上组合数C[区间长度][左区间长度]代码:#include #include typedef long long ll;const ll MOD = 1000000007;const int N = 105;int n, a[N];ll
2014-12-29 15:32:44 1073
原创 广州现场赛D题Signal Interference(计算几何)
Signal Interference题目链接思路:推推公式就发现其实就是求一个圆和多边形面积的交代码:#include#include#include#include#includeconst double eps = 1e-8;const double pi = acos(-1.0);int dcmp(double x){ if(x
2014-12-03 14:03:17 1425 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人