题面 "题目传送门" 解法 先把边转化成区间 其实我们只要计算$\sum_{i=l}^{r 1}\sum_{j=i+1}^{r}sum(i,j)$ 把式子拆开,可以得到$(l+r)\sum w_i i (l+1)(r 1)\sum w_i \sum w_i i^2$ 用线段树分别维护这三个值即可 时 ...
分类:
其他好文 时间:
2018-08-14 20:04:24
阅读次数:
124
[Arc080F]Prime Flip Description 你有无限多的“给给全”,编号为1,2,3,...。开始时,第x1,x2,...,xN个“给给全”是躺着的,其它的“给给全”是趴着的 你可以进行一些操作,每个操作大概是这样的: 选择一个不小于3的质数p,然后将连续的p个“给给全”翻过来 ...
分类:
其他好文 时间:
2018-08-14 20:01:44
阅读次数:
152
题面 "题目传送门" 解法 ~~MLE了23333~~ ~~为什么空间不给256MB,这样我就能开几个5000 5000的数组了~~ 考虑一种树形dp的方法吧 $f_{i,j}$表示从点$i$向下走$j$步并选出两个不在$i$同一个子树的方案数,$g_{i,j}$表示从$i$出发在$i$子树外走$j ...
分类:
其他好文 时间:
2018-08-14 19:58:40
阅读次数:
161
#include "stdafx.h"//暴力法求最大子数组和问题int _tmain(int argc, _TCHAR* argv[]){ int A[8] = { -6, 10, -5, -3, -7, -1, -1 }; int array_length = sizeof(A) / sizeo ...
分类:
编程语言 时间:
2018-08-13 21:01:13
阅读次数:
161
随手点开一个题。 咦,这不是裸的动态开点线段树吗?写一个写一个…… Code: 写完题的我: 内存太小,差评,卡常数,差评……这sb题…… 点开题解: ……大概说的就是我…… 没事复杂度其实是一样的 警醒a!!!不要一上手就乱写数据结构…… ...
分类:
其他好文 时间:
2018-08-13 20:47:02
阅读次数:
182
其实这题可以直接二进制状压做,1表示黑棋,0表示白棋,另外记录下2个空点的位置就行了。 具体看代码(冗长): cpp include include include include include include include include include include include def ...
分类:
其他好文 时间:
2018-08-13 15:56:38
阅读次数:
154
https://www.zybuluo.com/ysner/note/1246107 题面 在一个$n$行$m$列的棋盘里放$c$种不同色的棋子(每种有$c_i$个),使得每个格子最多放一个棋子,且不同 颜色的棋子不能在同一行或者同一列。有多少种方法? $n,m\leq30,c\leq10$ 解析 ...
分类:
其他好文 时间:
2018-08-13 13:54:52
阅读次数:
132
题目链接 "luogu P1663 山" 题解 只需要求出下凸包的最低点就好了 显然是由两个斜率相反的直线相交来的 盼下最低点为直线的情况 代码 c++ include include include inline int read() { int x = 0,f = 1; char c = get ...
分类:
其他好文 时间:
2018-08-10 10:52:37
阅读次数:
109
题面 "传送门" 思路 最小割 我们首先忽略掉那个奇♂怪的限制,就有一个比较显然的最小割模型: 建立源点$S$和汇点$T$ 对于每个元素$i$建立一个点$i$,连边$$和$$ 这样,割掉$$边就表示选白色,割掉$$边就表示选黑色,那么答案就是$\sum_{i=1}^nb[i]+w[i] mincut ...
分类:
其他好文 时间:
2018-08-09 23:15:17
阅读次数:
167
"传送门" 虽然这题是“网络流24题”,但我匈牙利~~Van♂~~完全不虚,还比$dinic$好写不少(不过就是慢一些) cpp include include include include using namespace std; int read(){ int k=0,f=1; char c= ...
分类:
其他好文 时间:
2018-08-08 22:04:50
阅读次数:
209