摘要:
一开始还以为用2-SAT。。愣了几分钟才发现是二分图匹配,用匈牙利算法找匹配碰到一个不能匹配的就退出就可以了。 1 /* 2 ID:WULALA 3 PROB:bzoj1191 4 LANG:C++ 5 */ 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #define N 100814 #define M 100815 #define mod16 #define mid(l,r) ((l+r) >> 1)17 #define INF 0x7ffffff18 us 阅读全文
摘要:
一开始看错题意了!!没注意到整个数列是1~n的一个排列!很水的一道题,找到b在数列中的位置设为point,比b大的赋值为-1,比b小的赋值为1;然后求出sum[i,point]的值出现了几次记为lfre[sum[i,point]]++; ans += lfre[sum[i,point]]*rfre[-sum[i,point]];由于c++数组不能是负数,所以稍微处理一下 1 /* 2 ID:WULALA 3 PROB:bzoj1303 4 LANG:C++ 5 */ 6 #include 7 #include 8 #include 9 #include 10 #include 11 #... 阅读全文
摘要:
公式不难推而且推出公式来以后就是一个裸快速幂了。。个人觉得HNOI2008最水的题 1 /* 2 ID:WULALA 3 PROB:bzoj1008 4 LANG:C++ 5 */ 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #define N 14 #define M15 #define mod 10000316 #define mid(l,r) ((l+r) >> 1)17 #define INF 0x7ffffff18 using namespace st 阅读全文
摘要:
这道题是一道很简单的DP,方程很容易列出来,只不过要优化,因为n^2过不了。膜拜了一下搞神的《浅析1D1D动态规划的优化(zzx)》既可以用斜率优化也可以用单调性优化。单调性证明就不说了。斜率优化还不太懂所以只写了单调性优化 1 /* 2 ID:WULALA 3 PROB:bzoj1010 4 LANG:C++ 5 */ 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #define N 5000814 #define M15 #define mod16 #define ... 阅读全文