分块傻逼题。 memset很慢的。。。而且其实也没有用。。。。
转载
2016-07-18 20:45:00
95阅读
2评论
线段树的裸题;
但是操作很奇怪,开方是不能lazy tag的
看来只能暴力修改了
但注意,开放开到1的时候就不用开,立一个flag就可以了
这可以大大的优化;
其实我是来复习线段树的
1 var tree:array[0..400010] of int64;
2 lazy:array[0..400010] of boolean;
3 a:array[0..100010]
转载
2014-05-02 23:43:00
111阅读
2评论
两题本质是一样,只不过3585要离散化这种不修改,不强制的问题,显然先考虑离线算法这道题的思路和bzoj1878非常像考虑到如果只是求每个前缀的mex,我们是很容易扫一遍就得出来的我们设为这个位置的mex考虑从左往右依次删除当前数会对后面产生什么影响我们设删除数a[i],a[i]下一个相同数的位置为next[a[i]]显然对于[i+1,next[a[i]]-1]这些位置的mex可能有影响(如过没有
转载
2014-12-08 13:14:00
85阅读
2评论
最小割的经典模型,体现出最小割的基本定义,把两个集合划分的最小代价
把一开始同意的人连源点,不同意的连汇点,有关系的人之间连边,流量都为1
不难发现,割两点(人)间的边就相当于朋友之间发生冲突
割到连源汇点的边就相当于与原来意愿不同
所以解决问题的方案等于图中的一个割
则最少冲突数=最小割=最大流
1 type node=record
2 point,flow,next:
转载
2014-04-14 15:51:00
96阅读
2评论
BZOJ4712 洪水 BZOJ4712 洪水 1 题外话 鸽了好久 2 sol 首先考虑没有修改的情况,题目变成一个简单的dp 设\(f_i\) 表示从\(i\) 出发走不到所有其叶子节点的最小代价 则\(f_i=min(V_i,\sum_{t}f_t)\) 其中\(V_i\) 为删去\(i\) ...
转载
2021-07-15 15:26:00
75阅读
2评论
两题是类似的,这里说一下bzoj1853
首先我们求出所有的幸运号码,注意如果存在x是y的倍数则x不算在内,避免之后重复计算
下面我们就要统计幸运号码的倍数了,这显然是要用到容斥原理的
但是幸运号码很多,如果直接暴力找几个幸运号码的公倍数做容斥原理弄会TLE的;
因此我们想到在搜索中剪枝,如果几个幸运号码的公倍数已经大于r,
那么我们一定不会再用这几个幸运号码和别的幸运号码求公倍数了
为了体现这个
转载
2014-10-07 21:34:00
118阅读
2评论
BZOJ4128 Matrix BZOJ4128 Matrix 1 题外话 调了半天竟是因为比较函数打错 2 sol 矩阵离散对数 令\(x=A\lceil \sqrt{p} \rceil -B\) ,其中\(0\leqslant A,B \leq \lceil \sqrt{p} \rceil\) ...
转载
2021-07-16 19:57:00
117阅读
2评论
一、内容题意:给定整数N,求1<=x,y<=N且GCD(x,y)为素数的数对(x,y)有多少对。二、思路因为我们求的是gcd(x, y) 为质数, 可以看出当d为质数时, 1d, 2d, 3d,4d,5d… gcd(x, y) = d, 那么x, y必然是其中的数,我们将所有的数都除以d, 那么变成1,2,3,4…n/d, 这时候gcd(x/d, y/d) = 1。故我们只...
原创
2022-02-03 10:03:07
65阅读
1.题目链接。矩阵快速幂的多项式取模优化模板题。#include<bits/stdc++.h>using namespace std;const int maxn = 4000, mod = 1000000007;int a[maxn +
原创
2022-07-01 10:41:02
48阅读
1.题目链接。找一下规律,其实上下基本上是对称的,所以只需要考虑下半部分最小就好了。#include<bits/stdc++.h>using namespace std;int main(){ int
原创
2022-07-01 10:41:15
37阅读
2120: 数颜色 Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会像你
原创
2021-08-05 10:53:26
60阅读
bzoj1012 线段树水题
bzoj1207 LIS水题
bzoj2190 挡住,即
bzoj1601 已被删除的水题?
bzoj1607 线段树细节题,搞清楚特判即可
bzoj1008 快速幂妥妥的
bzoj1452 裸的二维树状数组
转载
2014-01-21 22:09:00
107阅读
2评论
思路:好脑洞啊。。。 把边和角转化为字符串,然后用反串跑kmp。。。
转载
2018-06-23 16:13:00
64阅读
2评论
思路:对于两张高度一样的海报 i, j, 即 y[ i ] = y[ j ], 如果对于任意i < k < j 有y[ k ] > y[ i ] && y[ k ] > y[ j ] 那么i 和 j 就能用同一张海报覆盖 那么我们就能用单调栈维护这个过程。
转载
2018-06-14 12:43:00
46阅读
2评论
思路:先求出每两点之间的最短路,建出n个最短路径图,然后枚举起点终点和中间点,计算条数用到拓扑图dp。。。 看别人的方法很巧妙地用floyd在计算最短路的时候就可以直接计算条数啦。。。
转载
2018-07-13 09:48:00
57阅读
2评论