[POI2011]Garbage 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2278 https://loj.ac/problem/2162 https://www.luogu.org/problemnew/show/P3520 思路 求欧拉回路 求不到就GG 不过好像复杂度不对,一直TLE luogu90TLE loj85TLE bzojwrong 不过本地只跑1e7,std跑2e7 代码 #include <iostream>…
首先研究环上性质,发现如果状态不变的边就不需要动了,每次改的环上边肯定都是起末状态不同的边且仅改一次,因为如果有一条边在多个环上,相当于没有改,无视这条边之后,这几个环显然可以并成一个大环.所以,我们只关注起末状态不同的边. 然后,这些边形成一张图.对于每个连通块,如果有解的话,应当是一堆边不相交的简单环通过点互相连接的.这样一张图等价于一个欧拉回路,所以只要判每个连通块是不是欧拉回路(偶数度)即可. 然后是求解,目标就是把每个连通块所有的简单环都拎出来.回顾上述欧拉回路判断,实际上正是因为若干…
[LOJ#2162][POI2011]Garbage(欧拉回路) 题面 LOJ 题解 首先有一个比较显然的结论,对于不需要修改颜色的边可以直接删掉,对于需要修改的边保留.说白点就是每条边要被访问的次数可以直接模二.证明的话就是如果一条边被经过了两次,证明其连通了两侧的两个块,那么把这两次删掉,可以把两侧各拆分成一个欧拉回路,不会影响答案. 于是剩下的边直接对于每一个连通块算欧拉回路. 然后对于强制定向之后的图直接\(dfs\)找到所有简单环就可以了. #include<iostream> #i…
题目大意:给一张$n$个点$m$条边的无向图,每条边是黑色的或白色的,要求变成一个目标颜色.可以从任意一个点开始,走一个简单环,回到开始的点,所经过的边颜色翻转.可以走无数次.问是否有一个方案完成目标.有则输出任意方案. 题解:不用改变颜色的边不用管,因为可以通过走两个环使得这条边经过两次,而剩下的部分会拼成一个大环. 即要求是找互不相交的环,使得构成整张图 卡点:1.输出格式要求起点输出两次 2.找到环后不可以退出 C++ Code: #include <cstdio> #include &…
如果两个环相交,那么相交的部分相当于没走. 因此一定存在一种方案,使得里面的环都不相交. 把不需要改变状态的边都去掉,剩下的图若存在奇点则无解. 否则,每找到一个环就将环上的边都删掉,时间复杂度$O(n+m)$. #include<cstdio> const int N=2000010,BUF=20000000; int n,_m,m,i,j,k,x,y,d[N],s[N],e[N][3],a[N],v[N],q[N],t; int cnt,now,tmp[N],ans[N],pos; cha…
POI2011题解 2214先咕一会... [BZOJ2212][POI2011]Tree Rotations 线段树合并模板题. #include<cstdio> #include<algorithm> using namespace std; int gi(){ int x=0,w=1;char ch=getchar(); while ((ch<'0'||ch>'9')&&ch!='-') ch=getchar(); if (ch=='-') w=0…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
POI2011 Conspiracy (2-SAT) Description \(n\leq 5000\) Solution 发现可拆点然后使用2-SAT做,由于特殊的关系,可以证明每次只能交换两个集合中的一个元素,或者改变一个元素的位置,然后分类讨论即可. 注意特判集合为空的情况. POI2011 Lollipop (YY) Description \(n,m\leq 1000000,q\leq 2000000\) Solution 挖掘题目性质,由于只存在1,2.所以对于一个端点为1的线段,…
题目链接 题意就是给你一堆线段,然后线段有长度和颜色,让你选三条组成一个三角形,这三条线段颜色不能一样 题解: 做法:贪心 首先按照长度给这些线段排序一遍 然后贪心的去选,对于已经选出来同种颜色的,就拿它去替换同种颜色 不然就替换最小的 这样都能为后面创造更多的选择 复杂度$O(n)$ #include <bits/stdc++.h> #define ll long long #define inf 0x3f3f3f3f #define il inline #define in(a) a=re…
题目描述 http://main.edu.pl/en/archive/oi/18/smi The Byteotian Waste Management Company (BWMC) has drastically raised the price of garbage collection lately. This caused some of the citizens to stop paying for collecting their garbage and start disposing…