AtCoder AGC022C Remainder Game (图论)】的更多相关文章

题目链接 https://atcoder.jp/contests/agc022/tasks/agc022_c 题解 大水题一道 就他给的这个代价,猜都能猜到每个数只能用一次 仔细想想,我们肯定是按顺序从大到小用,一个数用多次肯定没意义,于是证完了 并且所有元素独立 所以我们就是要从大到小贪心判断每个元素是否能不用 比如当前要判断\(x\)是否能不用,那么就判断用当前已经确定要用的集合并上所有小于\(x\)的数能不能达到目的 这个东西建个图判一下连通性就行了 时间复杂度\(O(N^4)\) 代码…
题目链接 https://atcoder.jp/contests/agc038/tasks/agc038_d 题解 orz zjr神仙做法 考虑把所有\(C_i=0\)的提示的两点连边,那么连完之后的每个连通块都是一棵树 那么同一连通块内就不能出现\(C_i=1\)的提示,然后不同连通块之间可以任意连边,但是要满足两个连通块之间只能连一条边,还要连通 设有\(c\)个连通块,那么就要在连通块之间连\(m-(n-c)\)条边 如果没有\(C_i=1\)的提示,就只要求\(c-1\le m-(n-c…
题目链接 https://atcoder.jp/contests/agc036/tasks/agc036_d 题解 这都是怎么想出来的啊..目瞪口呆系列.. 第一步转化至关重要: 一张图中不存在负环意味着什么? 不存在负环就存在最短路,我们可以给每个点分配一个权值\(p_i\)(相当于从\(1\)号到该点的最短路,点从\(1\)开始标号)满足对于任何边\((i,j)\)有\(p_j\ge p_i+w(i,j)\). 然后我们令\(q_i=p_i-p_{i+1}\), 那么由于边权都是\(1\)或…
[题目]C - Remainder Game [题意]给定n个数字的序列A,每次可以选择一个数字k并选择一些数字对k取模,花费2^k的代价.要求最终变成序列B,求最小代价或无解.n<=50,0<=ai,bi<=50. [题解]首先需要一些性质: 1.一个数字取模k后,再取模>=k的数字就没有意义,因此操作顺序一定是k从大到小,并且每个k只用一次. 2.由于$2^k>2^{k-1}+2^{k-2}+...+2^0$,所以代价最小的序列一定是字典序最小的. 故现在要求字典序最小的…
题目链接 https://atcoder.jp/contests/agc004/tasks/agc004_f 题解 神仙题.. 首先考虑树的情况,树是二分图,因此假设我们对二分图进行黑白染色,那么操作就变成了,每次选择两个不同色的点来取反.然后再把黑色视作标记,那么问题就变成了,初始一些点上有标记,每次可以把标记沿着边移动到一个没标记的点,要把标记全部移动到和原来不同的位置上,求最小代价! 然后这个问题的做法就是,首先如果两种颜色个数不同就无解,否则考虑一个下界,对于每一条边而言,它至少要运送标…
https://atcoder.jp/contests/abc133/tasks/abc133_c 思路:由于L,R区间太大,所以不能暴力枚举.由于求(i*j)%2019的最小值,那么2019的倍数对2019求余则为零. 1.如果L/2019和R/2019一样说明,L和R之间没有2019的倍数,那么这种情况下,可以在L到R之间进行枚举 2.如果L/2019和R/2019不一样说明,L和R之间存在2019的倍数,则输出0 题解: #include <iostream> using namespa…
AtCoder Beginner Contest 075 C bridge 桥就是指图中这样的边,删除它以后整个图不连通.本题就是求桥个数的裸题. dfn[u]指在dfs中搜索到u节点的次序值,low[u]指dfs栈中u能追溯到的最早栈中节点从次序号.这里写的很好. #include<bits/stdc++.h> using namespace std; ; vector<int> G[maxn]; int dfn[maxn],low[maxn]; int n,m,u,v,dep,…
Atcoder 题面传送门 & 洛谷题面传送门 orz ymx,ymx ddw %%% 首先既然题目要我们判断强连通分量个数是否改变,我们首先就将原图 SCC 缩个点呗,缩完点后我们很自然地将图中的边分为两类:在某个强连通分量中,和不在强连通分量中,我们对这两个情况分别进行讨论. 下面又到了喜闻乐见的找性质的时间了.首先,对于不在同一个强连通分量中的边,把它翻转之后不会影响强连通分量个数,因为这条边不在强连通分量里面,即便把它断掉也不影响强连通分量内部的点的可达性,因此把它翻转只可能接链成环,减…
题意: 有一个含有n个点的无向图,所有的点最初颜色均为0.有q次操作,每次操作将v[i]周围的距离小于等于d[i]的点全部都染成颜色c[i].最后输出每个点的最终的颜色. 数据范围: 1<=n,m,q<=10^5 0<=d[i]<=10 1<=c[i]<=10^5 思路: 看见1<=d[i]<=10,这个条件,第一反应当然是暴力啦.但是如果从一个点总是能够访问所有的节点,那么这就变成O(n^2)了.那么我们应当考虑时间复杂度更加稳定的算法. 然后开始考虑如何…
https://beta.atcoder.jp/contests/abc103 A - Task Scheduling Problem Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100 points Problem Statement You have three tasks, all of which need to be completed. First, you can complete any one task at cos…
传送门:http://arc076.contest.atcoder.jp/tasks/arc076_b 本题是一个图论问题——Manhattan距离最小生成树(MST). 在一个平面网格上有n个格点,第i个格点的坐标是(xi,yi),构造一条连接点(a,b)和点(c,d)的边的代价是min{|a-c|,|b-d|}.对给定的n个格点构造连通图,使得总代价最小. 这是一个最小生成树(MST)问题.最“简单”的方法是,由n个结点构造一个无向完全图Kn,之后用Prim算法生成MST.这个程序的时间复杂…
传送门:http://abc070.contest.atcoder.jp/tasks/abc070_d 本题是一个图论问题——树(Tree). 有一棵结点数目为n的无向树.第i条边连接结点ai与bi,权值为ci.给出q次查询,以及一个整数k(1≤k≤n),第j次查询给出两个整数xj,yj(1≤xj,yj≤n),求解结点xj和yj通过结点k的最短路径长度. 树上的路径问题,可以通过DFS解决.以下代码片段计算结点间的路径长度dis. void dfs(int v) { vis[v] = true;…
目录 Contest Info Solutions A. T or T B.Good Distance C. Remainder Minimization 2019 D. Rain Flows into Dams E. Virus Tree 2 F. Colorful Tree Contest Info Practice Link Solved A B C D E F 6/6 O O O O O O O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. T…
Atcoder ABC 139E 题意: n支球队大循环赛,每支队伍一天只能打一场,求最少几天能打完. 解法: 考虑抽象图论模型,既然一天只能打一场,那么就把每一支球队和它需要交手的球队连边. 求出拓扑序,每次从入度为0的点进行拓扑排序,并把答案加1,删去所有出度,重复该操作. 如果形成环的话就无解. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm>…
A - ABCxxx Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement This contest, AtCoder Beginner Contest, is abbreviated as ABC. When we refer to a specific round of ABC, a three-digit number is appended after ABC. For example,…
AtCoder Beginner Contest 238 \(A - F\) 题解 A - Exponential or Quadratic 题意 判断 \(2^n > n^2\)是否成立? Solution 当 \(n\) 为 2,3,4 的时候不成立,否则成立 Code #include <bits/stdc++.h> using namespace std; using LL = long long; int main() { int n; cin >> n; bool…
图论的常见题目有两类,一类是求两点间最短距离,另一类是拓扑排序,两种写起来都很烦. 求最短路径: 127. Word Ladder Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to endWord, such that: Only one letter can be…
Remainder Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3036    Accepted Submission(s): 679 Problem Description Coco is a clever boy, who is good at mathematics. However, he is puzzled by a d…
题目传送门 题意:训练指南P191 分析:本题特殊,n个物品,n种元素则会爆炸,可以转移到图论里的n个点,连一条边表示u,v元素放在一起,如果不出现环,一定是n点,n-1条边,所以如果两个元素在同一个集合就会爆炸. #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 5; struct DSU { int rt[N], rk[N]; void init(void) { memset (rt, -1, sizeof…
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu ×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式 输入格式: 输入文件名为link .in. 第一行包含1 个整数n . 接下来n - 1 行,…
Remainder Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2133    Accepted Submission(s): 453 Problem DescriptionCoco is a clever boy, who is good at mathematics. However, he is puzzled by a dif…
AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有方案的数字和. 思路 \(2^{|S|-1}\)枚举加号的放置状态 代码 Many Formulas D.Snuke's Coloring 题意 在一个\(H \times W(3 \le H,W \le 10^9)\)的棋盘上,有\(N(N \le 10^5)\)个格子被染成黑色,其余格子为白色.…
/* 思前想后 还是决定坚持写博客吧... 题意: n个点,m个集合.每个集合里边的点是联通的且任意两点之间有一条dis[i]的边(每个集合一个dis[i]) 求同时从第1个点和第n个点出发的两个人相遇的最短时间,并输出相遇的地点,如果有多个按编号大小顺序输出. 输入: 测试数据 t n m 以下m行每行 dis[i] 该集合点的数量 ...每个点的标号 数据范围: n 2-1e5 所有集合的元素的数量和 1e6 思路: 如果直接跑最短路,边会存爆的. 考虑换种思路建边. 每个集合看作两个点,一…
数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列.(同一个结点的同层邻接点,节点编号小的优先遍历) Input 输入第一行为整数n(0< n <100),表示数据的组数.对于每组数据,第一行是三个整数k,m,t(0<…
最短路问题此类问题类型不多,变形较少 POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144该题亦放在搜索推荐题中 POJ 3013 - Big Christmas Tree(基础)http://ac…
链接:http://agc001.contest.atcoder.jp/tasks/agc001_c 题解(官方): We use the following well-known fact about trees.Let T be a tree, and let D be the diameter of the tree. • If D is even, there exists an vertex v of T such that for each vertex w inT, the dis…
Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10    Accepted Submission(s): 3 Problem Description There are N bombs needing exploding.Each bomb has three attributes: exploding radius ri,…
Solution: 比较好的图论的题. 要做这一题,首先要分析love关系和hate关系中,love关系具有传递性.更关键的一点,hate关系是不能成奇环的. 看到没有奇环很自然想到二分图的特性. 那么当前的任务是先二分染色,判断给定的边是否有冲突,并且缩点. 假设缩完点后图中只身下k个点.这k个点的hate关系满足二分图的关系. 那么计算组合数,共2^(k-1)种方法. #include <bits/stdc++.h> using namespace std; ; typedef pair&…
Problem Description 我知道部分同学最近在看中国剩余定理,就这个定理本身,还是比较简单的: 假设m1,m2,-,mk两两互素,则下面同余方程组: x≡a1(mod m1) x≡a2(mod m2) - x≡ak(mod mk) 在0<=<m1m2-mk内有唯一解. 记Mi=M/mi(1<=i<=k),因为(Mi,mi)=1,故有二个整数pi,qi满足Mipi+miqi=1,如果记ei=Mi/pi,那么会有: ei≡0(mod mj),j!=i ei≡1(mod m…
[NOI2007] 社交网络 ★★   输入文件:network1.in   输出文件:network1.out   简单对比 时间限制:1 s   内存限制:128 MB [问题描述] 在社交网络(social network)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题.在一个社交圈子里有n个人,人与人之间有不同程度的关系.我 们将这个关系网络对应到一个n个结点的无向图上,两个不同的人若互相认识,则在他们对应的结点之间连接一条无向边,并附上一个正数权值c,c越小,表…