1001. [WZOI2011 S3] 消息传递 ★★   输入文件:messagew.in   输出文件:messagew.out   简单对比时间限制:1 s   内存限制:128 MB Problem 2 消息传递 (messagew.pas/c/cpp) 问题描述 WZland开办了一个俱乐部(这里面可以干任何的事情),这引来了许多的人来加入.俱乐部的人数越来越多,关系也越来越复杂…… 俱乐部的人来自各个地方,为了增加友谊,俱乐部举行了一次晚会.晚会上又进行了一个传话游戏,如果A认识B,…
1001. [WZOI2011 S3] 消息传递 ★★   输入文件:messagew.in   输出文件:messagew.out   简单对比时间限制:1 s   内存限制:128 MB Problem 2 消息传递 (messagew.pas/c/cpp) 问题描述 WZland开办了一个俱乐部(这里面可以干任何的事情),这引来了许多的人来加入.俱乐部的人数越来越多,关系也越来越复杂…… 俱乐部的人来自各个地方,为了增加友谊,俱乐部举行了一次晚会.晚会上又进行了一个传话游戏,如果A认识B,…
1001. [WZOI2011 S3] 消息传递 ★★   输入文件:messagew.in   输出文件:messagew.out   简单对比时间限制:1 s   内存限制:128 MB Problem 2 消息传递 (messagew.pas/c/cpp) 问题描述 WZland开办了一个俱乐部(这里面可以干任何的事情),这引来了许多的人来加入.俱乐部的人数越来越多,关系也越来越复杂…… 俱乐部的人来自各个地方,为了增加友谊,俱乐部举行了一次晚会.晚会上又进行了一个传话游戏,如果A认识B,…
问题描述WZland开办了一个俱乐部(这里面可以干任何的事情),这引来了许多的人来加入.俱乐部的人数越来越多,关系也越来越复杂……俱乐部的人来自各个地方,为了增加友谊,俱乐部举行了一次晚会.晚会上又进行了一个传话游戏,如果A认识B,那么A收到某个消息,就会把这个消息传给B,以及所有A认识的人(如果A认识B,B不一定认识A),所有人从1到N编号.现在给出所有“认识”关系,俱乐部的负责人WZland的国王想知道一个十分简单的问题:如果A发布一条新消息,那么会不会经过若干次传话后,这个消息传回给了A,…
一:tarjan算法详解 ◦思想: ◦ ◦做一遍DFS,用dfn[i]表示编号为i的节点在DFS过程中的访问序号(也可以叫做开始时间)用low[i]表示i节点DFS过程中i的下方节点所能到达的开始时间最早的节点的开始时间.(也就是之后的深搜所能到达的最小开始时间)初始时dfn[i]=low[i] ◦ ◦在DFS过程中会形成一搜索树.在搜索树上越先遍历到的节点,显然dfn的值就越小. ◦ ◦DFS过程中,碰到哪个节点,就将哪个节点入栈.栈中节点只有在其所属的强连通分量已经全部求出时,才会出栈. ◦…
01迷宫(maze01) Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有一个仅由数字0与1组成的n×n格迷宫.若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移 动到相邻4格中的某一格0上. 你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身). [输入格式] 输入文件maze01.in的第1行为两个正整数n,m.下面n行,每行n个字符,字符只可能是0或者1,字符之间没有空格.接…
集合 和 数组 的比较: 数组 - 本质上就是在内存空间中申请的一段连续内存空间,存放多个相同类型的数据 - 数组一旦定义完毕,则在内存空间中的长度固定. - 插入/删除元素时可能导致大量元素的移动,因此效率比较低. - 使用数组下标访问元素非常便利. - 数组中的元素可以是基本数据类型,也可以是引用数据类型. 集合  - 内存空间不一定连续,数据类型不一定相同. - 内存空间的长度不固定,可以动态调整. - 插入/删除元素时可以不移动大量元素,效率可以提高. - 不一定支持下标访问. - 集合…
二次联通门 : cogs 943. [東方S3] 铃仙•优昙华院•稻叶 /* cogs 943. [東方S3] 铃仙·优昙华院·稻叶 概率dp 貌似做麻烦了 邻接矩阵和链式前向星都用上了... dp[pos][i][j]表示 第i秒 在i点 上一个经过的点是j 方程: dp[pos][i][j]=Σdp[pos-1][j][k]*(__out[j]+1-(map[j][k]==1))+dp[pos-1][i][j]*(__out[i]+1-(map[i][j]==1) 前面的求和考虑的是上一秒从…
二次联通门 : cogs 944. [東方S3] 藤原妹红 /* cogs 944. [東方S3] 藤原妹红 最小生成树 + 树形dp 首先对原图跑最下生成树 后建出一棵树 在树上进行dp 先走到叶子节点, 顺便处理出距离 最终回溯时更新答案 */ #include <algorithm> #include <cstdio> #define INF 1e30 void read (int &now) { register char word = getchar (); ;…
1298. 通讯问题 ★   输入文件:jdltt.in   输出文件:jdltt.out   简单对比 时间限制:1 s   内存限制:128 MB [题目描述] 一个篮球队有n个篮球队员,每个队员都有联系方式(如电话.电子邮件等).但并不是每个队员的联系方式都公开,每个队员的联系方式只有一部分队员知道.问队员可以分成多少个小组,小组成员之间可以相互通知(包括一个队员一个组,表示自己通知自己). [输入格式] 输入文件有若干行 第一行,一个整数n,表示共有n个队员(2<=n<=100) 下面…
1298. 通讯问题 ★★   输入文件:jdltt.in   输出文件:jdltt.out   简单对比时间限制:1 s   内存限制:128 MB [题目描述] 一个篮球队有n个篮球队员,每个队员都有联系方式(如电话.电子邮件等).但并不是每个队员的联系方式都公开,每个队员的联系方式只有一部分队员知道.问队员可以分成多少个小组,小组成员之间可以相互通知(包括一个队员一个组,表示自己通知自己). [输入格式] 输入文件有若干行 第一行,一个整数n,表示共有n个队员(2<=n<=100) 下面…
619. [金陵中学2007] 传话 ★★   输入文件:messagez.in   输出文件:messagez.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 兴趣小组的同学来自各个学校,为了增加友谊,晚会上又进行了一个传话游戏,如果 a 认识 b ,那么 a 收到某个消息,就会把这个消息传给 b ,以及所有 a 认识的人. 如果 a 认识 b , b 不一定认识 a . 所有人从 1 到 n 编号,给出所有“认识”关系,问如果 i 发布一条新消息,那么会不会经…
Problem 1 比那名居天子(tenshi.cpp/c/pas) 题目描述 在幻想乡,比那名居天子是管理着『要石』的天人.『要石』是能够引发和镇压地震的存在,当然也可以用来改变地形.因为在幻想乡引发地震,而被灵梦等人教训了之后,天子不得不使用『要石』来修复地面.幻想乡可以视为长度为N个格子的一条横轴,其中有些格子的土地由于地震被破坏(记为1),有些格子则没有(记为0).每次使用『要石』,可以把一段长度为L的格子全部修复完成(即将1变为0,L覆盖的范围可以超出地图),当然L越大,使用时所花费的…
题目链接 #include <iostream> #include <cstring> #include <cstdio> #include <queue> #include <cstdlib> using namespace std; #define N 1001 #define M 20000001 #define INF 0x3f3f3f3f struct node { int u,v,next; }edge[M]; int first[N…
Going from u to v or from v to u? Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15494   Accepted: 4100 Description In order to make their sons brave, Jiajia and Wind take them to a big cave. The cave has n rooms, and one-way corridors…
题目:http://cojs.tk/cogs/problem/problem.php?pid=309 309. [USACO 3.2] 香甜的黄油 ★★   输入文件:butter.in   输出文件:butter.out   简单对比时间限制:1 s   内存限制:128 MB 描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费用在奶牛上. 农夫John很狡猾…
Description In order to make their sons brave, Jiajia and Wind take them to a big cave. The cave has n rooms, and one-way corridors connecting some rooms. Each time, Wind choose two rooms x and y, and ask one of their little sons go from one to the o…
[COGS 426]血帆海盗 题目 传送门:http://cogs.pro/cogs/problem/problem.php?pid=426 随着资本的扩大,藏宝海湾贸易亲王在卡利姆多和东部王国大陆各建立了N/2 个港口.大灾变发生以后,这些港口之间失去了联系,相继脱离了藏宝海湾贸易亲王的管辖,各自为政.利益的驱动使得每个港口都想和对岸大陆的另一个港口建立贸易合作关系,由于地理位置因素,只有存在直接到达的航线的两个港口才能建立合作,而且每个港口只与对岸一个港口建立合作,因此并不是所有的港口都能找…
tarjan算法讲解.   全网最详细tarjan算法讲解,我不敢说别的.反正其他tarjan算法讲解,我看了半天才看懂.我写的这个,读完一遍,发现原来tarjan这么简单! tarjan算法,一个关于 图的联通性的神奇算法.基于DFS(迪法师)算法,深度优先搜索一张有向图.!注意!是有向图.根据树,堆栈,打标记等种种神(che)奇(dan)方法来完成剖析一个图的工作.而图的联通性,就是任督二脉通不通..的问题.了解tarjan算法之前你需要知道:强连通,强连通图,强连通分量,解答树(解答树只是…
Going from u to v or from v to u? Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17383   Accepted: 4660 Description In order to make their sons brave, Jiajia and Wind take them to a big cave. The cave has n rooms, and one-way corridors…
Tarjan求有向图强连通详解 注*该文章为转发,原文出处已经不得而知 :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { border: 0; max-width: 100%; height: auto !important; margin: 2px 0; } table { border-collapse: collapse; border: 1px solid #bbbbb…
COGS图论相关算法 最小生成树 Kruskal+ufs int ufs(int x) { return f[x] == x ? x : f[x] = ufs(f[x]); } int Kruskal() { int w = 0; for(int i=0; i<n; i++) f[i] = i; sort(e, e+n); for(int i=0; i<n; i++) { int x = ufs(e[i].u), y = ufs(e[i].v); if(x != y) { f[x] = y;…
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 194    Accepted Submission(s): 89 Problem Description Caocao was defeated by Zhuge Liang and Zhou Yu in the battle of Chibi. But…
Tarjan/2-SAT Tags:图论 作业部落 评论地址 Tarjan 用来求割边或者割点,求点双联通分量或者边双联通分量 点双联通分量:两个点之间有两条点不相交的路径 边双联通分量:两个点之间有两条边不相交的路径 Tarjan求LCA还不会 2-SAT 每种物品有选或者不选两种状态,有些限制条件形如 选了\(A\)则必须选\(B\),\(A\)和\(B\)不能同时选,必须选\(A\)等等 把逻辑限制关系变成连边 a->b表示如果\(a\)成立那么\(b\)一定成立 这个要求你理解逆否命题…
8. 备用交换机 ★★   输入文件:gd.in   输出文件:gd.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] n个城市之间有通讯网络,每个城市都有通讯交换机,直接或间接与其它城市连接.因电子设备容易损坏,需给通讯点配备备用交换机.但备用交换机数量有限,不能全部配备,只能给部分重要城市配置.于是规定:如果某个城市由于交换机损坏,不仅本城市通讯中断,还造成其它城市通讯中断,则配备备用交换机.请你根据城市线路情况,计算需配备备用交换机的城市个数,及需配备备用交换…
题目链接: http://poj.org/problem?id=2762 Going from u to v or from v to u? Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14546   Accepted: 3837 Description In order to make their sons brave, Jiajia and Wind take them to a big cave. The cav…
基本概念 给定无向连通图G = (V, E)割点:对于x∈V,从图中删去节点x以及所有与x关联的边之后,G分裂为两个或两个以上不相连的子图,则称x为割点割边(桥)若对于e∈E,从图中删去边e之后,G分裂成两个不相连的子图,则称e为G的桥或割边 时间戳在图的深度优先遍历过程中,按照每个节点第一次被访问的时间顺序,依次给予N个节点1~N的整数标记,该标记被称为“时间戳”,记为dfn[x] 搜索树在无向连通图中任选一个节点出发进行深度优先遍历吗,每个节点只访问一次.所有发生递归的边(x, y)构成一棵…
[BZOJ2730][HNOI2012]矿场搭建 Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口.请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数. Input 输入文件有若干组数据,每组数据的第一行是一个正整数 N(N≤500),表示工地的隧道数,接下…
首先给大家一个网址讲的比较细:http://www.cnblogs.com/en-heng/p/4002658.html 如果还有不懂的话,可以回来再看看我的文章; 概念明确: 树边:(在[2]中称为父子边),在搜索树中的实线所示,可理解为在DFS过程中访问未访问节点时所经过的边. 回边:(在[2]中称为返祖边.后向边),在搜索树中的虚线所示,可理解为在DFS过程中遇到已访问节点时所经过的边 low[u]记录节点u或u的子树通过非父子边追溯到最早的祖先节点 用那个网址的例子,我给大家推演一下ta…
题面 UPD:COGS 貌似进不去了,链接失效就删掉了. 如果你不小心看到了题目评论区,那你就会知道这是一道双倍经验题,另一题的链接见题目评论区…… 网络流+tarjan好题,但如果你真的的理解了网络流反向边的作用,那这就是一道大水题…… 题目要求出一定在最大流中的边的数目,显然先跑网络流(废话),然后考虑到题目要求的是一定在最大流中的边,换就话说,这条边要不可替代,什么边不可替代呢——割边(大雾)连接着两个强连通分量的边. 为什么呢? 首先,我们要知道边满流的概念.对于正向边(并没有找到标准说…