07 2013 档案
摘要:感谢这里。test4确实是个不连通的case,奇怪的是我用check函数跟if (check() == false)来判断这个case,当不连通时就死循环,得到的结果是不一样的,前者得到WA,后者得到TLE,难道SGU能自动在某个条件下终止死循环,然后返回false吗。不连通的情况FIX了,修改了代码如下:#include #include #include #include #include #include using namespace std;class Edge {public: int no, u, v; char d; Edge reverse() { ...
阅读全文
摘要:SGU 101,郁闷,想出来算法,但是不知道是哪个地方的问题,wa在第四个test上。#include #include #include #include #include #include using namespace std;class Edge {public: int no, u, v; char d; Edge reverse() { Edge rev; rev.no = no; rev.u = v; rev.v = u; rev.d = '-'; return rev; ...
阅读全文
摘要:SGU 168,寻找矩阵中右上方,右方,下方最小的元素,采用动态规划解答。#include #include #include #include #include #include using namespace std;int n, m;int A[1005][1005];int f[1005][1005];int B(int u, int v) { int move[3][2] = {-1, 1, 0, 1, 1, 0}; if (f[u][v] != 1234567) { return f[u][v]; } int ans = A[u][v]; ...
阅读全文
摘要:SGU130,用k条弦将一个圆分成k+1份的方法数。#include #include #include #include #include #include using namespace std;long long dp[35];long long f(int k) { if (dp[k]) { return dp[k]; } if (k <= 1) { return 1; } long long ans = 0; for (int i = 0; i < k; i++) { ans += f(i) * f(k -...
阅读全文
摘要:这两天再看这题HDU4603,我可能会用到将一颗树中的每个节点的子树权重进行排序,因此就出现了这么个复杂度分析的问题,已知sum{n_i}=n,求解sum{n_i * log(n_i)}的复杂度,先手试了几个拆解,将n拆成1份,n份,或是n/2,n/4,n/8...这样拆解下去,最后的复杂度都是低于nlogn的,记sum{n_i * log(n_i)}为S,可得到exp(S)=mul{exp{n_i * log(n_i)}}=mul{n_i ^ n_i}<=mul{n ^ n_i}=n ^ sum{n_i}=n^n,两边再同取log,可得到S=nlogn,因此可得到上面这种排序操作的复杂
阅读全文
摘要:记录dp(i, j)表示前i种卡片的排列,使得LISNumber为j的方法数。#include #include #include #include using namespace std;typedef long long int64;const int M = 1000000007;int64 dpC[1300][40];int64 dpT[1300][40];int64 sum[40];int64 dp[40][1300];class LISNumber {private: vector num;public: int64 f(int i, int j); int co...
阅读全文
摘要:可以化简为求n条线段的最大覆盖问题,需要注意的是对于实数而言。#include #include #include #include #include #include using namespace std;class PiecewiseLinearFunction {private: map Y2i; int value[100];public: int maximumSolutions(vector Y) { for (int i = 0; i ::iterator it = Y2i.begin(); it != Y2i.end(); it++) { ...
阅读全文

浙公网安备 33010602011771号