洛咕 P3756 [CQOI2017]老C的方块】的更多相关文章

四染色,贼好想 一个弃疗图形刚好对应一个红-绿-黄-粉色路线(不要吐槽颜色) 就是裸的最小割,建图傻逼懒得写了 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-')f=-1; ch=getchar(); } while(isdigit(…
Description 老 C 是个程序员. 作为一个懒惰的程序员,老 C 经常在电脑上玩方块游戏消磨时间.游戏被限定在一个由小方格排成的R行C列网格上 ,如果两个小方格有公共的边,就称它们是相邻的,而且有些相邻的小方格之间的公共边比较特殊.特殊的公共边排 列得有很强的规律.首先规定,第1行的前两个小方格之间的边是特殊边.然后,特殊边在水平方向上每4个小方格为 一个周期,在竖直方向上每2个小方格为一个周期.所有的奇数列与下一列之间都有特殊边,且所在行的编号从左到 右奇偶交替.下图所示是一个R =…
正解:网络流 解题报告: 传送门$QwQ$ 看到不能出现给定的讨厌的图形,简单来说就,特殊边两侧的方格不能同时再连方格. 所以如果出现,就相当于是四种方案?就分别炸四个格子. 然后冷静分析一波之后发现对于特殊边两侧的格子炸那个是没有影响的?于是这两个格子就只用选较小的一个炸就好,于是现在就变成了三种方案,可以考虑和之前做的那道,酒店之王,差不多的建图,$over$ #include<bits/stdc++.h> using namespace std; #define il inline #d…
题目链接 (Luogu) https://www.luogu.org/problem/P3756 (BZOJ) http://lydsy.com/JudgeOnline/problem.php?id=4823 题解 有点神仙的最小割题. 考虑题目里的图形,如果我们用四种颜色对棋盘进行染色,奇数行依次染\(0,1,2,3,0,1,2,3...\), 偶数行依次染\(3,2,1,0,3,2,1,0...\)则条件可以转化为不能出现相连的\(4\)个颜色互不相同的块. 那么可以建一个四层的图,对于每条…
题目链接 看到网格图+最优化问题,当然要想黑白染色搞网络流.不过这道题显然无法用黑白染色搞定. 仔细观察那四种图形,发现都是蓝线两边一定有两个格子,两个格子旁边一定还有且仅有一个格子.因此我们可以这么染色: (图片有点丑) 染完色以后直接三分图匹配求最小割即可. 可以看出,横着4个一循环,纵向2个一循环,所以一共有8中不同的格子.实际上,我们只需要在那六个星星的位置进行判断即可. 关键代码:(S -> 黄 -> 紫 -> 绿 -> T) for (register int i =…
4823: [Cqoi2017]老C的方块 题意: 鬼畜方块游戏不解释... 有些特殊边,有些四个方块组成的图形,方块有代价,删掉一些方块使得没有图形,最小化代价. 比较明显的最小割,一个图形中必须删掉一个方块. 我的想法是方块拆点然后用INF连起来. 但是你不能随便连啊,否则可能会出现一些原来没有的限制. 要找到一个连边的顺序!也就是如何分层 画一画发现是可以做到的,然后建图就行了. 我是一层一层建的... 然后一开始忘记考虑一种图形WA了两次... 总共花了3个多小时... #include…
洛咕 P3700 [CQOI2017]小Q的表格 神仙题orz 首先推一下给的两个式子中的第二个 \(b\cdot F(a,a+b)=(a+b)\cdot F(a,b)\) 先简单的想,\(F(a,a+b)\)和\(F(a,b)\)会相互影响 可以换一种角度想,\(F(a,b-a)\)和\(F(a,b)\)会相互影响\((b>a)\) 那么可以从\(F(x,y)\)一路推下去 \(F(x,y)=F(x,y-x)=F(x,y-2x)=\cdots=F(x,y\mod x)\) (注意这里的\(\t…
4823: [Cqoi2017]老C的方块 题目:传送门 题解: 毒瘤题ORZ.... 太菜了看出来是最小割啥边都不会建...狂%大佬强强强   黑白染色?不!是四个色一起染,四层图跑最小割... 很惊奇的发现染完色之后只要是不喜欢的图形都一定可以由黄-->黑-->红-->绿 组成 那就很nice啦...兴高采烈的去敲代码...结果10^5*10^5???搞毛线...太弱了ORZ,又看了一波大佬的操作,用map存! woc...不谈了不谈了...撸撸撸(分情况分到想屎...虽然不多) 注…
[BZOJ4823][CQOI2017]老C的方块(网络流) 题面 BZOJ 题解 首先还是给棋盘进行黑白染色,然后对于特殊边左右两侧的格子单独拎出来考虑. 为了和其他格子区分,我们把两侧的这两个格子染成灰色. 于是一个不合法的状态就是两个相邻的灰色点如果还和一个其他的点相连就是非法的. 我们先把黑白点分开,源点连向黑点,汇点连向白点,边权是删去这个点的代价. 因为灰点可以两两配对,非两两配对之间的没有影响,然后所有黑点连向对应的灰点,另一半灰点连向对应的白点.而要删去一组不合法的要么删去一个灰…
洛谷 题意: 给出一个网格图类似于这样: 现在给出一个\(n*m\)大小的网格,之后会给出一些点,若某些点相连形成了如下的几个图案,那么就是不好的. 现在可以删去一些点,但删除每个点都有一些代价,问最终不出现上述图案的最小代价为多少. 思路: 初一看这图是什么乱七八糟的,但仔细观察能够发现它们的共性:对于蓝色的边两旁的格子,我们称为灰点:若有两个灰点相连,并且它们各自至少还连接了一个点,那么就是不合法的图案. 同时观察网格奇偶性,之后对网格奇偶染色. 然后初步思路为:源点连向所有白点,容量为白点…