P3007 [USACO11JAN]大陆议会The Continental Cowngress 题意 题意翻译 简述:给出\(n\)个法案,\(m\)头牛的意见,每头牛有两个表决格式为"支持或反对某法案",每头牛需要至少满足一个表决,不可能成立的话输出IMPOSSIBLE,否则输出方案,\(Y\)代表能,\(N\)代表不能.若是有的解中法案可以通过,有些不能则输出"?". 由于对\(Farmer\ John\)的领导感到极其不悦,奶牛们退出了农场,组建了奶牛议会.…
P3007 [USACO11JAN]大陆议会The Continental Cowngress 题意: 给出 n 个法案, m 头牛的意见, 每头牛有两个表决 格式为 "支持或反对某法案", 每头牛需要至少满足一个表决, 不可能成立的话输出 IMPOSSIBLE, 否则输出方案, Y代表能, N代表不能若是有的解中法案可以通过, 有些不能则输出"?" 哇这题确认过眼神, 遇上对的测评机莫名洛谷 \(RANK 1\) 首先若是没有输出 \(?\) 这题就是一个裸的 限…
简述:给出 n 个法案, m 头牛的意见, 每头牛有两个表决 格式为 “支持或反对某法案”, 每头牛需要至少满足一个表决, 不可能成立的话输出 IMPOSSIBLE, 否则输出方案, Y代表能, N代表不能,若是有的解中法案可以通过, 有些不能则输出“?” 首先不难看出这是一个2-SAT问题 那么我们先建好图然后tarjan缩点 主要的问题就是如何判断一个法案是否在不同方案里有不同选择了 这个可以直接dfs,设$i$表示该法案通过,$i'$表示该法案不通过,那么在缩完点后的DAG上跑,看看从$i…
[BZOJ 2199] [USACO11JAN] 大陆议会The Continental Cowngress(2-SAT) 题面 题面较长,略 分析 考虑把问题转化成一个依赖性问题 我们把每只奶牛投出的两票中至少有一票和最终结果相符合转化:一只奶牛刚好投两次票,所以只要不满足奶牛的其中一次投票,就要满足另一次,这样就转化成了依赖性问题. 然后把每个议案拆成两个点,一个代表Y,一个代表N,每次把第一票不符合的点向符合的点连边,跑2-SAT 如果用传统的tarjan算法不好判断Y,N都可以的情况,观…
[USACO11JAN]大陆议会The Continental Cowngress_2-sat 题意: 由于对Farmer John的领导感到极其不悦,奶牛们退出了农场,组建了奶牛议会. 议会以“每头牛 都可以获得自己想要的”为原则,建立了下面的投票系统: M只到场的奶牛 (1 <= M <= 4000) 会给N个议案投票(1 <= N <= 1,000) .每只 奶牛会对恰好两个议案 B_i and C_i (1 <= B_i <= N; 1 <= C_i &l…
题目背景 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败……人类被蚂蚁们逼到了Greed Island上的一个海湾.现在,小FF的后方是一望无际的大海, 前方是变异了的超级蚂蚁. 小FF还有大好前程,他可不想命丧于此, 于是他派遣手下最后一批改造SCV布置地雷以阻挡蚂蚁们的进攻. 题目描述 小FF最后一道防线是一条长度为N的战壕, 小FF拥有无数多种地雷,而SCV每次可以在[ L , R ]区间埋放同一种不同于之前已经埋放的地雷. 由于情况已经十万火急,小FF在某些时候可能会询…
乍一不咋会 ╭(╯3╰)╮ 把地雷L到R看成一条线段 要求的就是区间内有多少条线段经过 很明显是要用[1,R]内的起点个数-[1,L-1]的终点个数 然后这起点和终点个数可以用简单的差分线段树来维护一下 其实树状数组更适合一些 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #define ls rt<…
BZOJ2200 听说加上slf优化的spfa的卡过,真的不想写这些东西. 考虑使用堆优化的dij算法. 先加上所有双向边,然后dfs一下搜出所有由双向边构成的联通块,然后加上所有的单向边,一边对所有联通块拓扑排序一边在联通块内部处理最短路,因为所有的双向边都是不带负权的,而单向边都是有负权的,所以这样规避dij贪心的错误之处. 注意到一个$inf$可能被另一个$inf$加上一个负权边拓展得到,所以最后的答案可能会小于$inf$,检验的时候注意取的极大值要小于一开始赋的$inf$. 时间复杂度$…
智课雅思词汇---十二.vent是什么意思 一.总结 一句话总结:词根:ven, vent = come, 表示“来” 词根:vent = wind 风 1.tact是什么意思? 词根:-tact-, -ting-, -tang-, -tag- [词根含义]:接触 [词根来源]:来源于拉丁语动词tango, tangere, tetigi, tactus(接触). [同源单词]:contact, intact, tact, tactful, contaminate 词根:tang, tact,…
https://www.luogu.org/problemnew/show/P2184 区间修改时只需修改区间端点的numl或numr值 区间查询x-y只需用1-y的numr - 1-(x - 1)的numl值线段树 单点修改 + 区间查询 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> using namespace std; ; #define yxy…