就按照题意建出有向图来(n个点,2n-2条边),然后从按随便一个rating排序,从最后一个开始dfs,用vis数组防止重复访问,因为每次之前的肯定能访问之后的(及之后的能访问的),所以不会有重复.就行了. #include<cstdio> #include<algorithm> using namespace std; #define N 100010 int a[N],b[N],A[N],n,B[N],sum; bool cmp(const int &a,const i…
题意:每个人有2种排名,对于A只要有一种排名高于B,那么A就能赢B,再如果B能赢C,那么A也能赢C,要求输出每个人分别能赢多少个人 析:首先把题意先读对了,然后我们可以建立一个图,先按第一种排名排序,然后从高的向向低的连一条边,然后再按第二种排序,同理连线. 最后dfs一次,要先从排名低的开始遍历,不用清0,因为是从排名低的开始的.也可以用强连通分量或者线段树. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000")…
题意:给定n个人在两个网站上的得分,一个人若能在任意一个网站里战胜另一个人,则认为这个人能战胜那个人.问每个人都能战胜多少人. 分析: 1.战胜具有传递性. 例如: 4 5 2 7 3 3 因为第三个人能战胜第二个人,第二个人能战胜第一个人,所以虽然第三个人两个分数都比第一个人低,但第三个人能战胜第一个人. 2.按照某个网站的分数排好序,从分数最小的人dfs,经过的人全都标记下来,则若分数较大的人能战胜的人一定大于等于分数较小的人. 原因:假设是按y网站排好序的,(分数由低到高分别id为3, 1…
题意:给你一张有向图,每条边有个限制范围,只有权值在限制范围内的人能走这条边,问你权值不超过K的人中,有多少人能从S到T. K很大,因此我们只处理边的范围的上下界这O(m)个权值能否到达,以防万一,还处理了这些权值+1.-1的可达性.然后去重.离散化出来的这些区间中,两个端点都可达的话,其内部的点也必然可达.当然端点本身也是可达的. #include<cstdio> #include<cstring> #include<algorithm> #include<se…
给你一个森林,让你把它连接成一颗树,使得直径最小. 就求出每颗树的重心以后,全都往直径最大的那个的重心上连,一般情况是最大/2+次大/2+1,次大/2+第三大/2+2 中取较大者. 还有些特殊情况要特判处理一下. #include<cstdio> #include<algorithm> using namespace std; int v[200010],first[100010],next[200010],e; void AddEdge(int U,int V){ v[++e]=…
二维下,如果把杨辉三角按照题目里要求的那样摆放,容易发现,第i行第j列的数(从0开始标号)是C(i+j,i)*C(j,j). 高维下也有类似规律,比如三维下,最后一层的数其实是C(i+j+k,i)*C(j+k,j)*C(k,k). 题目提示你了,坐标组合相同的位置,其值一定相同. 于是dfs最后一层的序号组合,统计答案即可.我只加了一个可行性剪枝,应该还能加一个的. #include<cstdio> #include<set> using namespace std; typede…
目录:1.潜伏者 [map] 2.Hankson的趣味题[数论]3.mayan游戏[dfs] 题目: 1. 潜伏者(spy.pas/c/cpp)[问题描述]R 国和S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历经艰险后,潜伏于S 国的R 国间谍小C 终于摸清了S 国军用密码的编码规则:1. S 国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所的内容均由大写字母‘A’—‘Z’构成(无空格等其他字母).2. S 国对于每个字母规定了对应的“密字”.加密的过程就…
Kattis - glitchbot [DFS] 题意 有一个机器人 刚开始在(0, 0),然后给出一个目标点,并且会给出一系列指令,但是其中会有一个指令是错误的.我们需要找出那个指令,并且改成正确的. 思路 因为数据范围比较小,我们可以把每条指令都改一下 暴力搜索一下,能不能走到目标点,如果改了,可以 那么 这就是答案 直接输出 break 掉就可以了 AC代码 #include <iostream> #include <cstdio> #include <algorith…
度度熊的01世界 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1117    Accepted Submission(s): 400 Problem Description 度度熊是一个喜欢计算机的孩子,在计算机的世界中,所有事物实际上都只由0和1组成. 现在给你一个n*m的图像,你需要分辨他究竟是0,还是1,或者两者均不是. 图像0…
题目描述 在峰会期间,武装部队得处于高度戒备.警察将监视每一条大街,军队将保卫建筑物,领空将布满了F-2003飞机.此外,巡洋船只和舰队将被派去保护海岸线.不幸的是因为种种原因,国防海军部仅有很少的几位军官能指挥大型海战.因此,他们考虑培养一些新的海军指挥官,他们选择了“海战”游戏来帮助学习. 在这个著名的游戏中,在一个方形的盘上放置了固定数量和形状的船只,每只船却不能碰到其它的船.在这个题中,我们仅考虑船是方形的,所有的船只都是由图形组成的方形.编写程序求出该棋盘上放置的船只的总数. 输入输出…