【题解】CF742E (二分图+构造)】的更多相关文章

[题解]CF742E (二分图+构造) 自闭了CodeForces - 742E 给定的条件就是一个二分图的模型,但是有一些不同.不同就不同在可以出现相邻两个点颜色相同的情况. 构造常用方法之一是按奇偶分类,就是尽管不同奇偶性的块之间会产生影响,但是我们先不管这些限制. 这道题里,假若奇偶块之内都能满足题目的限制,那么奇偶块之间也满足限制了.因为限制是不能存在三个联系相等,然而我们已经保证块内每两个不相等. 男女朋友连边. \(2i\)和\(2i-1\)连边. 然后跑二分图染色,考虑是否存在无解…
有意思的网格图转化.CF Div.1 还是挺有难度的. 注:由于本题有较完美的中文题面,所以不贴英文题面. 英文题面 题目描述 Innopolis 大学的教授正努力研究元素周期表.他们知道,有 \(n \times m\) 种元素,形成了一个 \(n\) 行 \(m\) 列的矩阵. 研究表明,如果元素周期表上有一个元素 A,且元素 B 与它在同一列(A 与 B 不能在同一周期),元素 C 在同一周期(A 与 C 不能在同一列),那么,科学家就可以用这三种元素通过核聚变合成第四种元素 D 的样品,…
我发现我有道叫[SCOI2010]连续攻击游戏的题白写了.. Description There are \(n\) students and \(m\) clubs in a college. The clubs are numbered from \(1\) to \(m\). Each student has a potential \(p_i\) and is a member of the club with index \(c_i\). Initially, each student…
建图思路很明确,拆点跑最大匹配,但这明显是个二分图的题题解居然只有一篇匈牙利算法. 发一种和之前那篇匈牙利思路略有不同的题解. 本题的难点就是如何输出,那么我们不妨在建图的时候加入一个原则,即:连边时位于左图的顶点编号小于位于右图的. 也就是说,形如左图的边是允许的,而形如右图的边是不允许的. 这很好理解吧~ 在输出的时候,只要不停往上找即可. 上代码 #include<stdio.h> int n,m,e[200][200],vis[200],mt[200],p[200]; int dfs(…
题意 题目链接 Sol 可以这样考虑,在原图中没有边相连的点的值肯定是a / c 那么直接二分图染色即可 #include<bits/stdc++.h> #define LL long long using namespace std; const int MAXN = 1001, INF = 1e9 + 10; inline int read() { char c = getchar(); int x = 0, f = 1; while(c < '0' || c > '9') {…
1854: [Scoi2010]游戏 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 5547  Solved: 2229[Submit][Status][Discuss] Description lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备最多只能使用一次. 游戏进行到最后,lxhgww遇到了终极boss…
https://www.luogu.org/problemnew/show/P1640 题意 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备最多只能使用一次.游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装备所使用的属性值必须从1开始连续递增地攻击,才能对boss产生伤害.也就是说一开始的时候,lxhgww只能使用某个属…
题目链接 题目大意 给你一个长为n的数组a,要你构造一个非严格单调上升的数组b和一个非严格单调下降的数组c,使得\(b_i+c_i=a_i\) 要你使这两个数组b,c中最大的元素最小,还有q次修改(q<=1e5),每次修改使[l,r]上的所有元素加x.在线查询 题目思路 看到这个区间操作,在线查询,就能想到线段树qwq,结果居然是差分 假设现在已经确定了\(b[1]\)\(c[1]\). 假设\(a[2]\)大于\(a[1]\)而\(b[2]+c[2]=a[2]\) 显然是想要b数组的每一个元素…
题目链接 P2055 [ZJOI2009]假期的宿舍 解题思路 因为懒,提供一种不连边,直接根据题目给出的邻接矩阵进行匈牙利算法的思路. \(a[i][j]\)表示\(i\)能不能睡\(j\)的床,需要根据具体情况在读入的时候适当调整. \(inv[i]\)表示第\(i\)个需要在学校睡觉的人(可能是在校学生也可能是校外人员) AC代码 #include<stdio.h> #include<string.h> int a[60][60],is[60],leave[60],vis[6…
Problem 题目描述 Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈S1不为空,将S1栈顶元素弹出至输出序列 操作c 如果输入序列不为空,将第一个元素压入栈S2 操作d 如果栈S2不为空,将S2栈顶元素弹出至输出序列 如果一个1~n的排列P可以通过一系列操作使得输出序列为1,2,-,(n-1),n,Tom就称P是一个"可双栈排序排列".例如(1…