摘要:
题意:每个人的工资至少888,然后有m个条件,前者比后者要多。求最少工资。 分析: 最开始的开邻接矩阵的肯定超时,如果dfs,会出现由于刚开始不是从入度为0的点出发,后期修改不了。比较麻烦。 正确方式是,用队列实现,不需要像普通队列一样,用vis数组标记,而是根据入度是否为0的标准加入队列。 1 / 阅读全文
摘要:
题意:进制问题 分析: 打表,但是要用不能 long long 型,超内存。 n! = log_{10}\sqrt{2{\pi}n} (\frac{n}e)^n 精度要求 include include include using namespace std; const double PI = a 阅读全文
摘要:
题意:两遍最长路,不能走重复点。和UVA 10806类似。 分析:拆点,u->u',MCMF,求的是最大流的最小费用,那么cost取负。 注意的是源点,源点不用拆,那么走出来的最小费用,左上角的点,右下角的点走了两遍,输出除去即可。 1 #include <bits/stdc++.h> 2 3 us 阅读全文
摘要:
题意:每个人有一个DI值,现在有一个小黑屋,这些人的顺序可以利用这个小黑屋调整,调整方式是入栈出栈方式,也就是说,这里的方案是有卡特兰数个方式。 调整后使得 d1*0 + d2*1 + d3*2 + d4*3 ...... 最小。 分析:这个题目竟然会是区间DP。 考虑区间 [ L, R ] ,那么 阅读全文
摘要:
题意:1~n个猫,有合并操作,有询问操作,合并两只猫所在的集合,询问第K大的集合。 分析:合并操作用并查集,用size维护,询问操作用Treap。注意优化,不能刚开始就把所有size = 1放到名次树中,是1的不做处理,而是不够的时候返回一个1; 1 #include <cstdio> 2 #inc 阅读全文