poi2010专题

BZOJ 2079 [Poi2010]Guilds 巧解

Description Zy皇帝面临一个严峻的问题,两个互相抵触的贸易团体,YYD工会和FSR工会,他们在同一时间请求在王国各个城市开办自己的办事处。这里有n个城市,其中有一些以双向马路相连,这两个工会要求每个城市应该做到: 1:有这个工会的办事处或 2:和另外一个符合1条件的城市有马路直接相连。(也就是每个城市必须是YYD的公会,但是又和FSR的公会的城市相连,或者是FSR的,和YYD的城市

2095: [Poi2010]Bridges

混合图的欧拉回路一般解法: 二分 + 最大流 先二分,然后判断该图是否能构成欧拉回路 考虑欧拉回路的成立条件,入度等于出度 也就是说,对于有向边,只用考虑其对入度出度的贡献, 然后对于无向边就要考虑其方向… 那么先任意规定无向边的方向,然后跑最大流。 在满足没有点出入度为0或出入度差为奇数(因为此时改变无向边的方向出入度之差变化为2)的前提下 如果能满流,那么就成立,否则不成立

[BZOJ 2096][Poi2010]Pilots:单调队列

点击这里查看原题 维护两个单调队列,一个递增,一个递减。 /*User:SmallLanguage:C++Problem No.:2096*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const int M=3e6+5;int lx,rx,mx[M]

思路题+vetor/链表--bzoj2083: [Poi2010]Intelligence test

传送门 solution: 先把询问离线下来,把所有未匹配完的序列的当前未匹配那一位挂在对应数值的链表上。然后遍历原序列,每次把这个数值的链表遍历一下,把所有的序列都推进一个,把这个链表清空,然后把下一个再挂到对应数值的链表上,最后看是否推进到序列尾就好了 注意不能边清空边挂,因为可能挂在同一个上,存下来就好了 因为不太会这道题的链表就写了 v e c t o r q w q vector\ q