题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27115 思路:有一个trick要注意:当情况为 2 x y 时,可以推出当y留下时,x也必须留下.然后就是后面的k个限制关系,我们可以3^(k)次方枚举,一旦找到符合条件的就return .然后就是反向建图,拓扑排序找可行解. #include<iostream> #include<cstdio> #include<cstring> #i…
题目链接:http://poj.org/problem?id=3683 思路:对于每个结婚仪式,只有在开始或结束时进行这两种选择,我们可以定义xi为真当且仅当在开始时进行.于是我们可以通过时间先后确定矛盾关系,然后通过矛盾关系建图.至于输出一组可行解,就可以2次dfs(一次沿正向边,一次沿反向边)求出拓扑序,然后根据拓扑序输出可行解. http://paste.ubuntu.com/5983686/…
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26961 思路:u表示留下,~u表示离开,同理v,对于+u,-v,我们可以这样来定义:若u离开,则v必须留下,如v离开,则u必须留下,于是我们可以连边u+n->v,v+n->u,后面的同理. #include<iostream> #include<cstdio> #include<cstring> #include<alg…
/* 2sat问题 输出任意一组可行解 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<queue> #include<vector> using namespace std; #define N 2100 struct node { int u,v,next; }ff[N],bian[N*N*8]; int…
就是棋盘问题输出一组解 https://blog.csdn.net/llx523113241/article/details/47759745 http://www.matrix67.com/blog/archives/116 求最小覆盖的步骤大致如下:1)在右边找到一个未被匹配过的点,标记.2)走一条没被匹配过的边,到左边的点,标记.3)走一条匹配过的边到右边,标记.4)重复2,3步骤直到不能再走.5)回到步骤一,直到找不到未被匹配且未被标记的右边的点.6)标记结束后,右边没有标记的点,和左边…
Priest John's Busiest Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8170   Accepted: 2784   Special Judge Description John is the only priest in his town. September 1st is the John's busiest day in a year because there is an old le…
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26868 思路:拆点,容量为最多能跳的步数,然后设立一个超级源点,源点与各点两连边,容量为一开始的企鹅数,最后就是枚举汇点了,跑最大流验证即可. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue&…
/*第二题*/ #include<stdio.h> //输入186732468 //输出173 //输入12345677 //输出13577 main(){ ;//输入的数字,数字的长度 printf("请输入:\n"); //input=186732468; scanf("%d",&input); ;tmp=input;//缓存一下原始数据 ){ printf(); }else{ while(input){ input=input/; leng…
def main(): names=['关羽','张飞','赵云','马超','貂蝉'] subjects=['语文','数学','Python'] table=[[0 for _ in range(3)] for _ in range(5)] #table=[[0]*len(subjects)]*len(names)这种写法为错误的 为同一引用 同一地址 #table[[0]*len(subjects) for_ in range (5)]这种写法为正确的 for row,name in en…
两种不同方式获取最大值与最小值 代码1: #include <stdio.h> int main() { ], sum = , max, min; int i; printf("请输入5名童鞋的成绩:\n"); ; i < ; i = i + ) scanf_s("%f", &score[i]); max = min = score[]; ; i < ; i = i + ) { if (max <= score[i]) max…
2-sat 推荐学习资料: 伍昱的2003年IOI国家集训队论文<由对称性解2-sat问题> 论文链接:https://wenku.baidu.com/view/31fd7200bed5b9f3f90f1ce2.html 注: 本博文只分析如何输出一组可行解,请读者确保已学习了判断是否有解 本人水平不高,若有分析不得当之处,欢迎指出 法一.tarjan+构建反图+拓扑排序 在原图tarjan缩点后得到的有向无环图的反图上拓扑排序 边拓扑边干两件事儿: 1.选择当前栈顶所代表的问题 2.删除与栈…
完了,这次做扯了,做的时候有点发烧,居然只做出来一道题,差点被绿. My submissions     # When Who Problem Lang Verdict Time Memory 4434550 Sep 9, 2013 11:57:20 AM OIer E - Xenia and Tree GNU C++ Accepted 842 ms 4260 KB 4434547 Sep 9, 2013 11:56:11 AM OIer E - Xenia and Tree GNU C++ W…
CodeForces Round 199 Div2   完了,这次做扯了,做的时候有点发烧,居然只做出来一道题,差点被绿. My submissions     # When Who Problem Lang Verdict Time Memory 4434550 Sep 9, 2013 11:57:20 AM OIer E - Xenia and Tree GNU C++ Accepted 842 ms 4260 KB 4434547 Sep 9, 2013 11:56:11 AM OIer…
题意 n对夫妻要结婚,第i对夫妻结婚的婚礼持续时间为[Si, Ti],他们会举行一个仪式,仪式时间为Di,这个仪式只能举行在开头或者结尾举行,要么[Si, Si+Di],要么[Ti-Di, Ti],然而举行仪式的牧师只有一个,问牧师能否举行完所有仪式 按输入顺序输出方案 手动翻译 Sol \(2-SAT\)输出一组可行解 这个很烦 \(Tarjan\)缩点成\(DAG\)后再拓扑排序+染色 只传递不选的标记 # include <iostream> # include <stdio.h&…
Luogu P1245 电话号码 谨以此题解致敬我的初中英语老师孙菡老师,她带的班默写不过的人数总是像电话号码那样屈指可数 玄学问题? 本题的SPJ似乎已经基本没有问题了,只要 文末没有多余的空格和回车 就能正常评测. 审题 本题给出了26个字母与数字的对应关系,要求将一串数字翻译为几个单词. 那么我们是不需要关注各个单词中的字母具体是什么的,只需要存起来输出的时候用一下就行了,翻译过程中完全可以转换为纯数字操作. 具体地说:the->732,she->732,对于密码中的732,它们是完全等…
http://poj.org/problem?id=3683 2-sat 问题判定,输出一组可行解 http://www.cnblogs.com/TheRoadToTheGold/p/8436948.html 注: 本代码在判断两个时间段部分有误,数据弱A了 #include<cstdio> #include<vector> using namespace std; #define N 1001 struct TIME { int h1,m1; int h2,m2; int tim…
http://codeforces.com/problemset/problem/97/B 题目大意:给n个点,添加一些点,使得任意两个点: 1.在同一条线上 2.以它们为顶点构成的矩形上有其他点. 输出一组可行解. —————————————————— 我发现我根本不会做英语题……看了半天题面后就去找题解了. http://blog.csdn.net/wust_zjx/article/details/44900093 这是其他人的题解,但我总觉得这个人说的不明不白的(自行理解半个小时才明白的我…
Reactor Cooling The terrorist group leaded by a well known international terrorist Ben Bladen is buliding a nuclear reactor to produce plutonium for the nuclear bomb they are planning to create. Being the wicked computer genius of this group, you are…
题目:POJ 3041 Asteroids http://poj.org/problem?id=3041 分析: 把位置下标看出一条边,这显然是一个二分图最小顶点覆盖的问题,Hungary就好. 挑战: 输出一组可行解.构造,已知二分图的两个点集U和V,s-U-V-t,在最大匹配的残留网络里,选从s出发能到达的V中的点 沿途可以到达的U集中的点的路径就都被覆盖了,然后在选择U集合中无法到达的点.对于二分图中任意一条边,其中必有一点属于U集合, 所以前面选出的点集S是一个覆盖.并且S中V和U对应的…
题目链接:https://vjudge.net/problem/HDU-3338 Kakuro Extension Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2419    Accepted Submission(s): 840Special Judge Problem Description If you solved probl…
前言 \(2-SAT\)的解法不止一种(例如暴搜?),但最高效的应该还是\(Tarjan\). 说来其实我早就写过用\(Tarjan\)求解\(2-SAT\)的题目了(就是这道题:[2019.8.14 慈溪模拟赛 T2]黑心老板(gamble)),这篇博客本来已经石沉大海,打算坑掉了的,但由于在\(CSP-S\)前复习板子时忘记了这道题写法,结果板子题都挂了好几次,为了加深印象,为了自我惩罚,来补博客了. 基本模型 什么是\(2-SAT\)? 考虑有\(n\)个物品,每个物品有\(0\)和\(1…
一个暑假两次集训,感觉学了好多好多的东西,也挖了好多好多的坑,于是就决定写一篇关于算法的总结,用于熟悉新算法,也留下一点对新算法的理解. AC自动机 简单的说就是在\(trie\)树上实现\(KMP\),用于多模式串的匹配. 而\(AC\)自动机的理解就在于\(fail\)指针,\(fail\)指针是实现多模式串匹配的关键.每次匹配失败后,\(fail\)指针会指向一个当前匹配串的最长真后缀,数次跳跃后,就能实现对文本串的一段在\(trie\)树进行所有可能的匹配. 而对于\(fail\)指针的…
题意:       一对夫妻结婚,请来了n对夫妻,所有人坐在同一张桌子上吃饭,这张桌子是长方形的可以坐两排人,有如下限制 (1) 新娘和新郎不做同一侧. (2) 每对来的夫妻也不能坐在同一侧.  (3) 有一些人有暧昧关系(男女,男男,或者女女),有暧昧关系的两 个人不可以同时坐在新娘对面. 输出一组可行解,输出的是坐在新娘对面的人. 思路:      根据限制关系,而且还是二选一,显然这个是2sat,对于每个人,都拆成两个点,一个是a表示坐在新娘这一侧,另一个是~a表示坐在新郎这一侧,则对于任…
Peaceful Commission Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2030    Accepted Submission(s): 589 Problem Description The Public Peace Commission should be legislated in Parliament of Th…
Genealogical tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3674   Accepted: 2445   Special Judge Description The system of Martians' blood relations is confusing enough. Actually, Martians bud when they want and where they want. T…
转载地址:http://blog.csdn.net/qq172108805/article/details/7603351 /* 2-sat问题,题意:有对情侣结婚,请来n-1对夫妇,算上他们自己共n对,编号为0~~n-1,他们自己编号为0 所有人坐在桌子两旁,新娘不想看到对面的人有夫妻关系或偷奸关系,若有解,输出一组解,无解输出bad luck 思路: 1.根据偷奸关系建图(1h和2h有偷奸关系,建边1h->2w 2h->1w) 2.求强连通分量 3.判断有无解(任一对夫妇不在同一强连通分量…
枚举提供成组的常数值,它们有助于使成员成为强类型以及提高代码的可读性.在 C# 中,使用 enum 来声明枚举. 枚举分为简单枚举和标志枚举两种. 基本语法示例 enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; 以下格式也可以: enum Day {     Sun,     Mon,     Tue,     Wed,     Thu,     Fri,     Sat }; 枚举类型 枚举类型可以是:byte.sbyte.short.ushort…
题目链接:https://vjudge.net/contest/210334#problem/G 转载于:https://blog.csdn.net/todobe/article/details/54171920 题目描述: 给出房间的宽度r和s个挂坠的重量wi,设计一个尽量宽(但宽度不能超过房间宽度r)的天平,挂着所有挂坠. 天平由一些长度为1的木棍组成.木棍的每一端要么挂一个挂坠,要么挂另外一个木棍.如图1所示,设n和m分别是两端的总重量,要让天平平衡,必须满足n*a=m*b. 例如:如果有…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255663.html 第六章      枚举和注解 30.      用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型,例如一年中的季节或一副牌中的花色.在没引入枚举时,一…
常量 变量 表达式 运算符 枚举 1.布尔类型只有真和假 2运算符 >,<,<=,>=,==,!=.判断两个数是否相等要使用双等号‘==’.逻辑运算符的表达式结果非真即假,&&是逻辑与 || 是逻辑或.程序的三种结构{顺序.分支.循环}. 3.if语句的三种形式   if(条件表达式){语句块} if(条件表达式):{语句块}   不论条件表达式是真是假,永远都执行下面的语句块 if(条件表达式){语句块1}else{语句块2} 语法形式(级联式): if(条件表达…