首页 > TAG信息列表 > POI2010

P3501 [POI2010]ANT-Antisymmetry

定义一个01串是反对称子串当将原串取反后和原串一样。求串的反对称子串个数。\(|S|\leq 5\times 10^5\) 。 设 \(s[i],s[j]\) 是反对称子串中对应的字符 1.若子串长度为奇数,则存在 \(i=j\) 的一组情况,又 \(s[i]\) 取反 \(==s[j]\) 所以矛盾 2.子串长度为偶数, \(s[i]\) 取反 \(==s

【洛谷3505】[POI2010] TEL-Teleportation(分层思想)

点此看题面 给定一张\(n\)个点\(m\)条边的无向图,要求在满足\(1\)号点到\(2\)号点至少经过\(5\)条边的前提下,加入尽可能多的边。 \(n\le4\times10^4,m\le10^6\) 分层思想 考虑我们最终肯定是要把图分成\(6\)层(其中\(1\)号点在第\(0\)层,\(2\)号点在第\(5\)层),把同层所有点之间以及

[POI2010]GIL-Guilds - 二分图染色,DFS

给一张无向图,要求你用黑白灰给点染色,且满足对于任意一个黑点,至少有一个白点和他相邻;对于任意一个白点,至少有一个黑点与他相邻,对于任意一个灰点,至少同时有一个黑点和白点和灰点与他相邻,问能否成功 Solution 显然灰色是多余的 首先考虑什么样的情况是不行的,显然仅在有孤立点的时候会

BZOJ 2091: [Poi2010]The Minima Game 博弈dp

十分有趣的问题.   我们发现如果拿的话肯定要先拿一些大的.   所以我们可以先将所有数从小到大排序,令 $f[i]$ 表示拿完前 $i$ 小先手-后手的最大值.   则有转移:$f[i]=max(f[i-1],a[i]-f[i-1])$   反复阅读:每次拿一些数字的贡献是这些数字中最小的值.   反复阅读上一句话

P3501 [POI2010]ANT-Antisymmetry

题面:https://www.luogu.org/problem/P3501 本题直接hash+暴力,二分对称中心即可. (自然溢出大法好!!!) Code: #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> #include<ctime> #include&

BZOJ 2093: [Poi2010]Frog 倍增 尺取法

title BZOJ 2093 LUOGU 3509 Description 一个条河无限宽,上面有 \(n\) 块石头,石头离左边的河岸(无限宽,右边河岸不晓得在哪)距离严格递增,现在 \(Zxl\) 想锻炼自己的跳跃能力(谁叫他在班里外号是鸟怪。畸形),他在某一块石头上,想跳到离他这块石头第 \(k\) 远的石头上去,假如离他第 \(k\)

Poi2010 Antisymmetry

Antisymmetry 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。 现在给出一个长度为N的01字符串,求它有多少个子串是反对称的。 N <= 500,000 manacher manacher匹配的时候改一下匹配

[POI2010]CHO-Hamsters

## 首先声明一下,也许本篇题解由于各种原因常数过大,但是由于字符串的长度没有给,在理论复杂度上是最优的O(n^2*|s|+n^3 log m) 这道题目很妙,当时只有@wlzhouzhuan 巨佬一个做出来。 现在想要是那个时候A这道题该有多爽啊(~~好吧2010年我才3岁。。。~~) 首先看到题面,我第一想法是dp不可

【POI2010】ANT-Antisymmetry

题面 https://www.luogu.org/problem/P3501 题解 #include<cstdio>#include<iostream>#include<cstring>#define ri register int#define N 500050#define uLL unsigned long longusing namespace std;int n;char s[N];const uLL p=107;uLL sum1[N],sum2[N];uL

bzojP3512: [POI2010]PIL-Pilots

Pre 一道不太难的蓝题,有一点需要注意。 Solution 四次单调队列(少几次也可以,但是需要空间支持)。 Code #include<bits/stdc++.h> #define xx first #define yy second #define ll long long using namespace std; const int N = 3000000 + 5; ll info[N], n, q[N], tail, head; ll

BZOJ 2095 [POI2010]Bridges (最大流、欧拉回路)

洛谷上有这题,但是输出方案缺SPJ。。(而且我也懒得输出方案了) 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2095 题解: 首先判掉度数有奇数的特殊情况,一眼能看出来二分答案(二分下界要设成每条边较小权值的最大值),然后转化成: 给定一张图,有些边有方向,有些边无方向