自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Brute♂force

My name is van♂,I'm an artist, I'm a performance artist.

  • 博客(1197)
  • 收藏
  • 关注

原创 【树链剖分】【CF704E】Iron Man

题目思路首先链剖,考虑一条重链于是问题就变成了有若干条线段,求y坐标最小的交点我们用扫描线维护,同时要维护相邻两条线段的相交时间如果一条线段插入或删除时已经大于答案,那么直接退出,否则只有相邻信息会改变。代码#include<bits/stdc++.h>#define ll long longusing namespace std;ll gcd(ll x,ll y){ return y==0?x:gcd(y,x%y);}ll abs(ll x){ return

2020-09-10 14:25:54 311

原创 【DP】[NOI2013]快餐店

题目https://www.luogu.com.cn/problem/P1399思路对于基环树,只需要断开换上的一条边然后求树的直径就可以了,可以证明断开一条边后对答案没有影响,因为距离肯定不会成一个环。但是这复杂度不对可以先对换上的每个外向树做一次求直径(最后的答案肯定大于等于它的一半的),求出f[i]表示以第i个点为起点,做大能在子树中延伸的长度。然后对于换上i,j两点,他们的距离就是f[i]+f[j]+dis[i][j],dis[i][j]表示的是在环上i,j的直接距离。拆换成链后就变成

2020-09-10 09:54:31 267

原创 【树上差分||树链剖分】【HDU5452】Minimum Cut

题目思路如果删掉的树边已经决定,我们就只需要删掉连接两部分之间的边。一条非树边被删,当且仅当树上路径上的边被删。于是变成了路径+1,求最小值的问题。可以用链剖,也可以用树上差分代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=2e4+77,M=2e5+77,ci=15;struct E{ int v,next;}e[M<<1];int ls[N],c

2020-09-10 00:30:48 275

原创 【DP+矩阵乘法】【CQOI2018】交错序列

题目设f[i][j] 表示当前填了前 i 个数字,第 i 个数字填了 0 的所有方案的 1 的个数的 j 次方和,g[i][j] 表示当前填了前 i 个数字,第 i 个数字填了 1 的所有方案的 1 的个数的 j 次方和写出转移之后发现可以矩阵乘法然后就没了代码#include <bits/stdc++.h>typedef long long ll;ll M;ll Add(ll a, ll b) { return a + b >= M ? a + b - M : a +

2020-09-09 22:58:09 217

原创 【DP】[COCI 2010] ZUMA

题目现在有一行 n 个弹子,每个弹子都有颜色,每次可以让连续至少 k 个相同颜色的弹子消失,两边合在一起。求插入弹子数量的最小值,使得所有弹子消失。n ≤ 100,k ≤ 5。思路设 fi,j,k 表示 [i, j] 中的弹子,已经在前面插入了 k 个与 i 同色的弹子,消去的最小代价。转移有三种:在前面插入一个弹子、消去当前弹子、消去中间一段使 i 与后面合并。代码#include<bits/stdc++.h>using namespace std;const int

2020-09-09 19:46:49 274

原创 【斜率优化】SUP-Supercomputer

题目给定一棵N个节点的有根树,根节点为1。Q次询问,每次给定一个K,用最少的操作次数遍历完整棵树,输出最少操作次数。每次操作可以选择访问不超过K个未访问的点,且这些点的父亲必须在之前被访问过。思路首先选点遵循两个原则:每次操作都尽可能的选取更多的节点每次操作都尽可能的选取还有儿子的节点也就是说每次操作都优先选择还有儿子的节点,如果能选择的有儿子的节点数目小于k,就继续选择没有儿子的节点,直到没有节点可以选或者k次选择用完。这样贪心的做绝对能够保证答案是正确的。接下来观察一下数据范围,所有

2020-09-09 16:34:58 331

原创 【点分治+cdq分治+斜率优化】[NOI2014]购票

题目https://loj.ac/problem/2249思路首先写出30分的DP,发现可以斜率优化然后发现p是无序的,咋办呢?cdq呗树上?点分治啊但是这个好难写啊,写了好久代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=2e5+77;int n,num;int fa[N];ll s[N],x[N],y[N],l[N];vector<int> e

2020-09-09 12:53:21 256

原创 【LCT】[COI2009] OTOCI

题目不久之前,Mirko 建立了一个旅行社,名叫“极地之梦”。这家旅行社在北极附近购买了 nn 座冰岛,并且提供观光服务。当地最受欢迎的当然是帝企鹅了,这些小家伙经常成群结队的游走在各个冰岛之间。Mirko 的旅行社遭受一次重大打击,以至于观光游轮已经不划算了。旅行社将在冰岛之间建造大桥,并用观光巴士来运载游客。Mirko 希望开发一个电脑程序来管理这些大桥的建造过程,以免有不可预料的错误发生。这些冰岛从1到N标号。一开始时这些岛屿没有大桥连接,并且所有岛上的帝企鹅数量都是知道的。每座岛上的企鹅数量虽

2020-09-08 14:54:42 273

原创 【可持久化线段树】【SDOI2009】HH的项链plus

题目思路先考虑离线将询问按右端点排序。一路枚举,到一个数的时候,就同一值将上一次出现的位置赋0,然后当前位置赋1。这样询问就可以直接询问区间和。因为每种数只有最后一个产生了贡献。强制在线就把每次修改后的线段树可持久化一下。代码#include<bits/stdc++.h>#define register#define vd void#define sta statictypedef long long ll;const int maxn=50011;int n;

2020-09-08 12:29:48 235

原创 【线段树+问题转换】【UOJ228】基础数据结构练习题

题目思路如果区间内数相同,可以直接开根但这样显然太慢了我们考虑把开根变成减法,也就是开根后相差的相同的同时做减法加上这一优化后我们发现每次开根最大最小值之差是每次除以O(sqrt(m))的代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=1e5+77;int n,m,o,x,y,z,a[N];ll sm[N*4],lz[N*4],mx[N*4],mn[N*4];voi

2020-09-07 14:37:48 255

原创 【权值线段树合并】[POI2011]ROT-Tree Rotations

题目思路对于每个点,看两种方式哪种的逆序对数更少。线段树合并。维护值域线段树,每个点的时候,左右的线段树合并。如果合并时只有一颗非空了就直接结束。代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=2e5+77;int n,cnt;ll ans,u,v;struct Seg{ int ls,rs,size;}tr[22*N];int ins(int l,int

2020-09-07 09:25:04 265

原创 【可撤销并查集】最小mex生成树

题目题目描述给定 nn 个点 mm 条边的无向连通图,边有边权。设一个自然数集合 SS 的 \text{mex}mex 为:最小的、没有出现在 SS 中的自然数。现在你要求出一个这个图的生成树,使得其边权集合的 \text{mex}mex 尽可能小。输入格式第一行输入两个正整数 n,mn,m。接下来 mm 行,每行 33 个非负整数 u,v,wu,v,w,表示 u,vu,v 之间有一条权值为 ww 的边。输出格式输出一行一个自然数,表示最小的 \text{mex}mex 值。输入输出样例

2020-09-06 11:26:53 398

原创 【LCT】[NOI2014]魔法森林

题目思路最大值最小?还跟路径有关?当然是维护最小生成树啦只有一个值很简单:暴力加边并查集判断连通性,当1,n第一次连通的时候答案一定是最小的可是现在有两个值怎么办呢考虑按a排序,维护以b为关键字的最小生成树,答案就是1,n路径上最大值+当前的a然而b是无序的,所以维护这个最小生成树需要找到环上最大的边断开然后加入新边,所以我们要用LCT那么问题来了,怎么维护边权?在每条边中间加一个点代表边权就行了代码#include<bits/stdc++.h>using namespa

2020-09-06 09:45:44 268

原创 【LCT】[SDOI2008]洞穴勘测

题目题目描述辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径。 洞穴都十分坚固无法破坏,然而通道不太稳定,时常因为外界影响而发生改变,比如,根据有关仪器的监测结果,123号洞穴和127号洞穴之间有时会出现一条通道,有时这条通道

2020-09-06 00:10:41 238

原创 【可并堆】[APIO2012]派遣

题目题目背景在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。题目描述在这个帮派里,有一名忍者被称之为Master。除了Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方式发送。现在你要招募一批忍者,并把它们派遣给顾客。你需要为每个被派遣的忍者支付一定的薪水,同时使得支付的薪水总额不超过你的预算。另外,为了发送指令,你需要选择一名忍者作为管理者,要求这个管理者可以向所有被

2020-09-05 17:40:09 224

原创 【左偏树】Monkey King

题目题目描述Once in a forest, there lived N aggressive monkeys. At the beginning, they each does things in its own way and none of them knows each other. But monkeys can’t avoid quarrelling, and it only happens between two monkeys who does not know each other.

2020-09-05 16:14:05 221

原创 【模板】左偏树(可并堆)

题目题目描述如题,一开始有 nn 个小根堆,每个堆包含且仅包含一个数。接下来需要支持两种操作:1 x y:将第 xx 个数和第 yy 个数所在的小根堆合并(若第 xx 或第 yy 个数已经被删除或第 xx 和第 yy 个数在用一个堆内,则无视此操作)。2 x:输出第 xx 个数所在的堆最小数,并将这个最小数删除(若有多个最小数,优先删除先输入的;若第 xx 个数已经被删除,则输出 -1−1 并无视删除操作)。输入格式第一行包含两个正整数 n, mn,m,分别表示一开始小根堆的个数和接下来操作的个

2020-09-04 20:33:14 223

原创 【点分治】[BJOI2017]树的难题

题目给你一棵 nn 个点的无根树。树上的每条边具有颜色。一共有 mm 种颜色,编号为 11 到 mm,第 ii 种颜色的权值为 c_ici​ 。对于一条树上的简单路径,路径上经过的所有边按顺序组成一个颜色序列,序列可以划分成若干个相同颜色段。定义路径权值为颜色序列上每个同颜色段的颜色权值之和。请你计算,经过边数在 ll 到 rr 之间的所有简单路径中,路径权值的最大值。思路考虑分治重心为k的时候。由于求最大值,所以不能容斥,所以考虑给每个点染色(染他是哪个子树的),记录这个点到k的路径上最

2020-09-03 19:19:55 408

原创 【SA】[NOI2016]优秀的拆分

题目如果一个字符串可以被拆分为 \text{AABB}AABB 的形式,其中 \text{A}A 和 \text{B}B 是任意非空字符串,则我们称该字符串的这种拆分是优秀的。例如,对于字符串 \texttt{aabaabaa} aabaabaa ,如果令 \text{A}=\texttt{aab}A=aab,\text{B}=\texttt{a}B=a,我们就找到了这个字符串拆分成 \text{AABB}AABB 的一种方式。一个字符串可能没有优秀的拆分,也可能存在不止一种优秀的拆分。比如我们令

2020-09-03 11:32:28 449

原创 【莫比乌斯反演+杜教筛】【51nod 1237】最大公约数之和V3

题目给出一个数N,输出小于等于N的所有数,两两之间的最大公约数之和。相当于计算这段程序(程序中的gcd(i,j)表示i与j的最大公约数):由于结果很大,输出Mod 1000000007的结果。G=0;for(i=1;i<=N;i++){for(j=1;j<=N;j++){G = (G + gcd(i,j)) % 1000000007;}}N<=1e10思路首先我们对柿子进行莫比乌斯反演:然后我们使用杜教筛把phi(k)筛出来整除分块做就行代码#incl

2020-09-02 19:39:18 275

原创 【模板】杜教筛(Sum)

题目思路欲求 f 的前缀和,若存在 g 使得 f ∗ g 以及 g 的前缀和都好求,就可以使用杜教筛:预处理前 n2/3 的 f,记忆化搜索代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7,N=5e6+77;ll p[N];int ph[N],cnt,mu[N];bool vis[N];unordered_map<int,int> ans

2020-09-01 21:39:31 218

原创 【SA】[NOI2015]品酒大会

题目https://www.luogu.com.cn/problem/P2178题目描述一年一度的“幻影阁夏日品酒大会”隆重开幕了。大会包含品尝和趣味挑战 两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加。在大会的晚餐上,调酒师 Rainbow 调制了 nn 杯鸡尾酒。这 nn 杯鸡尾酒排成一行,其中第 nn 杯酒 (1 ≤ i ≤ n1≤i≤n) 被贴上了一个标签 s_isi​ ,每个标签都是 2626 个小写 英文字母之一。设 str(l, r)str(

2020-09-01 20:24:19 325

原创 【LCT】[国家集训队]Tree II

题目https://www.luogu.com.cn/problem/P1501一棵 nn 个点的树,每个点的初始权值为 11。对于这棵树有 qq 个操作,每个操作为以下四种操作之一:u v c:将 uu 到 vv 的路径上的点的权值都加上自然数 cc;u1 v1 u2 v2:将树中原有的边 (u_1,v_1)(u1​ ,v1​ ) 删除,加入一条新边 (u_2,v_2)(u2​ ,v2​ ),保证操作完之后仍然是一棵树;u v c:将 uu 到 vv 的路径上

2020-09-01 14:03:11 269

原创 【noi.ac #2127】ni

题目现在有一棵树,小AA想会选一个点出发,沿着树上的边不回头的行走。小AA不喜欢走太久,所以他最多只会行走kk条边。小AA也不喜欢重复,所以他想要知道最多有多少种行走方式。两个方式不同当且仅当经过的边集不同。输入格式第一行两个整数,n,kn,k,nn表示树的节点个数。第二行一共n−1n−1个整数,第ii个数fi+1fi+1表示i+1i+1的父亲。输出格式一行,一个整数,表示行走方案数。样例Input5 21 1 2 2Output8数据规模与约定对于10%10%的数据,满足

2020-08-16 08:42:27 400 2

原创 【noi.ac #2126】ichi

题目这里一个网格状的房间,一共有nn列,但是有正无穷的行。小AA一开始在第00行,可以任意选择所在的列。现在他每次可以向下走一格(行号+1),或者向右下走一格(行列同时+1)。在行走过程中,小AA需要不断消耗体力。具体来说,每经过一个第ii列的格子,需要消耗AiAi的体力。现在小AA会一共行走mm次,每次会给出目标坐标第xx行第yy列,请你求出走到那所消耗的最小体力。输入格式第一行一共两个整数,nn和mm。第二行一共nn个整数,AiAi。接下来mm行,每行两个整数,xx和yy。输出格式m

2020-08-16 08:23:01 288 1

原创 【noi.ac #68】A. 数叶子

题目数叶子给你一棵 nn 个点的无根树,点的编号是 1−n1−n。叶子指的是一颗有根树没有孩子的结点。一个友善的叶子集合是由一些叶子组成的非空集合,且满足,这些叶子,在某种 dfs 顺序下(即存在一种 dfs 顺序),按 dfs 顺序取出所有叶子,友善的叶子集合里的叶子在这里面是连续的(顺序无所谓)。现在问你,当这棵树的根是 ii 的时候,一共有多少种友善的叶子集合。答案mod 109+7109+7。输入格式第一行一个数 TT 表示测试组数。后面有 TT 组测试数据,对于每组数据:第一行一个整数

2020-08-13 23:50:58 299

原创 【noi.ac #457】point

题目【问题描述】一张图上有编号从1到n的n个点,这些点的颜色可以设置,可以设置成黑色或者红色,这些点之间有m条连线,如果连线两端的点颜色是一样的,那么连线就是虚线,如果连线两端的点颜色不一样,那么连线是实线。现给你这张图,图上n个点和m条线,请你通过设置点的颜色将其中一条实线改成虚线,而其它的线为实线,并得出有几条线可以这样改。【输入格式】第一行两个空格分隔的正整数n和m,表示图中有n个点和m条线。接下来m行,第i行由两个空格分隔的正整数Ai和Bi(1<=Ai<=N,1<=Bi&

2020-08-12 16:41:50 232

原创 【noi.ac #562】T3

题目给定一个01环,每次可以交换相邻的两个数字,问最少多少次能使0和1分别在连续的一段区间。有 T 组数据。n<=1e6 T<=10思路先把环倍长,然后可以发现我们的过程是将0or1往中间靠拢,而且一定满足是往中位数靠,所以我们枚举长度为n的段,然后计算往中间靠拢的代价就行。考场上没想到倍长,结果大样例没过,还不如暴力代码#include<bits/stdc++.h>#define ll long longusing namespace std;const in

2020-08-12 14:02:38 299

原创 【noi.ac #596】road

题目小P和小R是一对非常好的朋友,今天他们在玩一个模拟建设类游戏。游戏中共有nn个城市,通过mm条双向道路连接。第ii条道路连接了城市aiai和bibi。不幸的是,在一次巨大的灾难以后,这mm条道路全部损坏了。修复第ii条道路需要cici天。把这些道路全部修复的代价可能太大,小P和小R只希望某kk个城市之间两两恢复通行。游戏中,小P和小R拥有很多的修路工人,所以如果一个修路方案包含多条道路,那么这些道路可以同时开工。整个工程完工的时间就是这个工程中需要时间最长的道路的用时。小P和小R为了给你加大难

2020-08-12 00:29:44 347

原创 【CF311B】 Cats Transport

题目Zxr960115 is owner of a large farm. He feeds mm cute cats and employs pp feeders. There’s a straight road across the farm and nn hills along the road, numbered from 1 to nn from left to right. The distance between hill ii and (i-1)(i−1) is d_{i}di​ m

2020-08-04 22:35:00 307

原创 【JZOJ B组】【GDSOI2017第二轮模拟】奶酪

题目DescriptionCJY很喜欢吃奶酪,于是YJC弄到了一些奶酪,现在YJC决定和CJY分享奶酪。YJC弄到了n-1块奶酪,于是他把奶酪挂在了一棵n个结点的树上,每根树枝上挂一块奶酪,每块奶酪都有重量。YJC和CJY决定这样分奶酪:首先砍掉一根树枝,把树分成两部分,每人取一部分,然后各自在自己取的那部分树上选择一条路径并取走路径上的奶酪,然后把剩下的奶酪拿去喂老鼠。两人都想让自己取走总重量尽量大的奶酪,但他们不知道砍掉哪一根树枝最好。所以他们想让你计算,对于每一根树枝,砍掉之后每个人取走的奶

2020-07-31 20:36:32 321

原创 【noi.ac #2036】 乌拉乌拉

题目http://noi.ac/contest/358/problem/2036思路显然 f(a, b) 必不可能等于 0,因为 i = p 1 时一定有 ai ≡ 1 ≡ bp 1(%p)。定义小于质数 p 的正整数 a 关于 p 的阶为使得 ak ≡ 1(%p) 的最小的正整数 a,记作 ord(a)。考虑如何求一个数 a 的阶。显然 %p 意义下的阶一定是 p 1 的约数,所以我们可以对 p−1 质因数分解,然后求阶关于 p−1 的每个质因子的幂次。具体就是枚举p−1 的每个质因子 qi

2020-07-30 21:52:37 296

原创 【noi.ac #2029】乱搞题

题目http://noi.ac/contest/356/problem/2029思路为了方便,先把树等价转化成这样:所有的叶节点的权值不为0,所有的非叶节点都有恰好2个孩子,且权值为0(这里临时允许根节点的权值为0)考虑树dp,f[i][j]表示:假设i从祖先能得到的关键值为j,则i的子树内需要权值不为0的节点的个数如果i是叶子,则根据j与自己的权值是否相同决定答案为0或1如果i不是叶子,则有两类决策:当前节点什么都不做,则f[i][j] = f[l[i]][j] + f[r[i]][j]

2020-07-25 21:46:30 258

原创 【noi.ac #2028】签到题

题目http://noi.ac/contest/356/problem/2028思路莫队维护当前区间的答案和每一类的修改数、查询数若干种情况左侧加入修改,答案+=原有的同类查询数,同时维护修改数左侧加入查询,答案不变,仅维护查询数右侧加入修改,答案不变,仅维护修改数右侧加入查询,答案+=原有的同类修改数,同时维护查询数删除是加入的逆过程代码#include<bits/stdc++.h>using namespace std;typedef long long LL;

2020-07-25 21:42:18 272

原创 【noi.ac #2030】数学题

题目http://noi.ac/problem/2030思路如果你没有发现标算1的神奇结论,也可以直接上套路来做显然可以枚举g,对于每个g计算 P(g) = ∑{i=1…n, j=1…m, gcd(i,j)=g} floor(i/j)(g=1…m)欲计算P,仅需要对每个g计算Q然后反演得到,其中 Q(d) = ∑{i=1…n, d|i, j=1…m, d|j} floor(i/j)(d=1…m)注意m最大有10^7,O(m log m)可能会超时, 建议用O(m log log m)的反演而Q

2020-07-25 21:36:40 272

原创 【GDOI/全国统一省选A卷 day2 T3】作业题

题目DescriptionInput从文件 tree.in 中读入数据。第一行一个正整数 n 表示树的大小。第二行 n 个正整数表示 vi。接下来一行 n-1 个正整数,依次表示 2 号结点到 n 号结点,每个结点的父亲编号pi。Output输出到文件 tree.out 中。仅一行一个整数表示答案。Sample Input55 4 1 2 31 1 2 2Sample Output12【样例 1 解释】value(1) = (5 + 0) ⊕ (4 + 1) ⊕ (1 +

2020-07-21 22:03:08 287

原创 【GDOI/全国统一省选A卷 day1 T2】组合数问题

题目https://loj.ac/problem/3300思路做过如何优雅的求和这道题就是白给的……可惜本菜鸡在靠省选前没学好生成函数……大体思路是先把**f(i)**拆成下降幂形式,至于怎么求,可以用斯特林反演+ O(m2) 暴力推第二类斯特林数求得。然后利用指数生成函数的性质推式子。这里推荐一篇讲的比较好的博文:https://www.luogu.com.cn/blog/yurzhang/solution-p6620代码#include<bits/stdc++.h>#defi

2020-07-21 16:42:50 266

原创 【GDOI/全国统一省选A/B卷 day2 T1】信号传递

题目Description一条道路上从左至右排列着 m 个信号站,初始时从左至右依次编号为 1, 2, · · · , m,相邻信号站之间相隔 1 单位长度。每个信号站只能往它右侧的任意信号站传输信号(称为普通传递),每单位长度距离需要消耗 1 单位时间。道路的最左侧有一个控制塔,它在最左侧信号站的左侧,与其相隔 1 单位长度。控制塔能与任意信号站进行双向信号传递(称为特殊传递),但每单位长度距离需要消耗k 个单位时间。对于给定的长度为 n 的信号传递序列 S,传递规则如下:共 n-1 次信号传

2020-07-20 23:25:21 355

原创 【GDOI/全国统一省选A/B卷 day1 T1】冰火战士

题目Description一场比赛即将开始。每位战士有两个属性:温度和能量,有两派战士:冰系战士的技能会对周围造成降温冰冻伤害,因而要求场地温度不低于他的自身温度才能参赛;火系战士的技能会对周围造成升温灼烧伤害,因而要求场地温度不高于他的自身温度才能参赛。当场地温度确定时,双方能够参赛的战士分别排成一队。冰系战士按自身温度从低到高排序,火系战士按自身温度从高到低排序,温度相同时能量大的战士排在前面。首先,双方的第一位战士之间展开战斗,两位战士消耗相同的能量,能量少的战士将耗尽能量退出比赛,而能量有剩

2020-07-20 18:36:53 314

原创 【noi.ac #2008】crossing

题目statement你走到了一个十字路口。这个路口有nn个红绿灯,并且有固定的周期。在一个周期中,每个红绿灯恰好一次由红变绿,恰好一次由绿变红(并且都是在整数时刻发生改变)。一个红绿灯如果当前是红色则会显示还需要多久变绿。你观察了m次这个红绿灯系统,并且记下了每次观察的结果。但非常不幸的是,你忘记了每次观察的时间。你想知道能否通过你记录下的信息确定它的周期,如果可以则输出周期,否则输出−1−1。input description第一行两个整数n,mn,m。接下来mm行每行nn个整数xijxij

2020-07-20 16:42:05 288

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除