03 2020 档案

摘要:POJ2387 Til the Cows Come Home (最短路裸题) #include<cstdio> #include<algorithm> #include<cstring> #include<queue> using namespace std; const int maxn=1010 阅读全文
posted @ 2020-03-30 13:13 zlc0405 阅读(229) 评论(0) 推荐(0) 编辑
摘要:题意: 给出一颗树,以1为根节点。 每次询问给出一组节点,询问是否存在从根节点开始的链使得所有节点本身或父亲在链上 题解: 猜想这条链的终点一定是最深的那个节点。 考虑用倍增LCA做。 遍历询问序列,比较当前节点和最深节点的LCA与当前节点的高度差,如果大于1直接输出NO。 时间复杂度是O(NMlo 阅读全文
posted @ 2020-03-29 20:07 zlc0405 阅读(109) 评论(0) 推荐(0) 编辑
摘要:A.Structure of a Binary Tree 模拟题,按照题意模拟即可 #include<bits/stdc++.h> using namespace std; const int maxn=1014; struct node { int data; node * left; node 阅读全文
posted @ 2020-03-26 22:32 zlc0405 阅读(444) 评论(0) 推荐(0) 编辑
摘要:题意: Description 作为一个富有经营头脑的富翁,小L决定从本国最优秀的经理中雇佣一些来经营自己的公司。这些经理相互之间合作有一个贡献指数,(我们用Ei,j表示i经理对j经理的了解程度),即当经理i和经理j同时被雇佣时,经理i会对经理j做出贡献,使得所赚得的利润增加Ei,j。当然,雇佣每一 阅读全文
posted @ 2020-03-24 11:35 zlc0405 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题意: 给出N个点,和每个点物品的售价,现在有一个商人,要从u点到v点,他想在路上多赚点钱。他可以从一个城市买物品,然后再卖到另一个城市,但买卖只允许一次,且不能回头走 问最多能赚多少 题解: 对于一个询问, 假设u,v的LCA是f 有三种可能, 一个是从u到f 买卖了。 一个是从f到v买卖了, 一 阅读全文
posted @ 2020-03-20 11:25 zlc0405 阅读(162) 评论(0) 推荐(0) 编辑
摘要:题意: Dark 是一张无向图,图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark 有 N-1条主要边,并且 Dark 的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark 还有 M条附加边。 你的任务是把 Dark 斩为不连通的两部分。一开始 Dark 的附加边 阅读全文
posted @ 2020-03-19 23:17 zlc0405 阅读(128) 评论(0) 推荐(0) 编辑
摘要:LCA裸题,读入比较毒瘤 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1e5; int N; int head[maxn]; int tol; struct no 阅读全文
posted @ 2020-03-19 22:53 zlc0405 阅读(117) 评论(0) 推荐(0) 编辑
摘要:模板题,注意要先判断根的编号。 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1e5; int N; int head[maxn]; int tol; struct 阅读全文
posted @ 2020-03-19 22:35 zlc0405 阅读(126) 评论(0) 推荐(0) 编辑
摘要:题意: 一棵无向树,输入点数和操作数,下面一行n个值代表每个点的权。下面n-1行是树边 操作分为 0 x w ,表示把点x的权改为w; k a b , 求出,从a到b的路径中,第k大的点权 题解: 对于每组询问,先求出两点的LCA,再从两点分别向LCA遍历,保存路径上所有的点权,排序输出第K大即可~ 阅读全文
posted @ 2020-03-19 21:02 zlc0405 阅读(103) 评论(0) 推荐(0) 编辑
摘要:题意: 第一次世界大战后,许多城市遭到严重破坏,我们需要重建这些城市。但是,某些材料只能在某些地方生产。所以我们需要将这些材料从一个城市运到另一个城市。由于战争期间大部分道路已被完全摧毁,两个城市之间可能没有路径,也没有环存在。 现在,你的任务来了。在告诉您道路状况后,我们想知道任何两个城市之间是否 阅读全文
posted @ 2020-03-19 20:02 zlc0405 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题意: 勇气小镇是一个有着n个房屋的小镇,为什么把它叫做勇气小镇呢,这个故事就要从勇气小镇成立的那天说起了,修建小镇的时候,为了让小镇有特色,镇长特地只修了n-1条路,并且规定说,所有在勇气小镇的村民,每一次出门必须规划好路线,路线必须满足在到达终点之前绝对不走回头路。每个人都要这样,不然那个人就不 阅读全文
posted @ 2020-03-19 19:21 zlc0405 阅读(227) 评论(0) 推荐(0) 编辑
摘要:#include<cstdio> #include<algorithm> #include<cstring> #include<vector> using namespace std; const int maxn=110; const int inf=1e9; int g[maxn][maxn]; 阅读全文
posted @ 2020-03-19 15:53 zlc0405 阅读(88) 评论(0) 推荐(0) 编辑
摘要:题意: 这是一个非常容易解决的问题,您的任务只是计算图像,而仅是计算干草成本和算法成本。如果您不懂此段话,请继续。Nya图是具有“层”的无向图。图中的每个节点都属于一个层,总共有N个节点。您可以以成本C从x层中的任何节点移动到x + 1层中的任何节点,因为道路是双向的,因此也可以以相同的成本从x + 阅读全文
posted @ 2020-03-19 12:51 zlc0405 阅读(173) 评论(0) 推荐(0) 编辑
摘要:题意: 在无向图上求一条从1到N的路径,使得路径上第K+1大的边权尽可能小。 题解: 把大于等于mid的边权置为1,小于mid的边置为0,求1到N的最短路是否大于K,二分处理。 #include<cstdio> #include<algorithm> #include<cstring> #inclu 阅读全文
posted @ 2020-03-19 11:34 zlc0405 阅读(112) 评论(0) 推荐(0) 编辑
摘要:Description 可可和卡卡家住合肥市的东郊,每天上学他们都要转车多次才能到达市区西端的学校。直到有一天他们两人参加了学校的信息学奥林匹克竞赛小组才发现每天上学的乘车路线不一定是最优的。 可可:“很可能我们在上学的路途上浪费了大量的时间,让我们写一个程序来计算上学需要的最少时间吧!” 合肥市一 阅读全文
posted @ 2020-03-18 21:57 zlc0405 阅读(125) 评论(0) 推荐(0) 编辑
摘要:Description 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点。网络中实现路由转发的硬件设备称为路由器。为了使数据包最快的到达目的地,路由器需要选择最优的路径转发数据包。例如在常用的路由算法OSPF(开放式最短路径优先)中,路由器会使用经典的Dij 阅读全文
posted @ 2020-03-18 21:33 zlc0405 阅读(343) 评论(0) 推荐(0) 编辑
摘要:Description 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段。随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号 热门。新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关于切尔西能否在今年问鼎欧洲冠 军。新浪体育的记者从各个院系中一共抽取了n位同学作为参与者,大家齐聚一堂 阅读全文
posted @ 2020-03-17 11:27 zlc0405 阅读(175) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个边带正权的连通无向图G=(V,E),其中N=|V|,M=|E|,N个点从1到N依次编号,给定三个正整数u,v,和L (u≠v),假设现在加入一条边权为L的边(u,v),那么需要删掉最少多少条边,才能够使得这条边既可能出现在最小生成树上,也可能出现在最大生成树上? In 阅读全文
posted @ 2020-03-17 11:00 zlc0405 阅读(178) 评论(0) 推荐(0) 编辑
摘要:Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究、站址勘测、最优化等项目。在前期市场调查和站址勘测之后,公司得到了一共N个可以作为 阅读全文
posted @ 2020-03-17 10:16 zlc0405 阅读(130) 评论(0) 推荐(0) 编辑
摘要:Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃 到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石 柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落 阅读全文
posted @ 2020-03-16 22:06 zlc0405 阅读(174) 评论(0) 推荐(0) 编辑
摘要:题意: 按顺序买书,遇到买不起的书就跳过,遇到买的起的书必须买。 他买了M本书,询问他最少有多少钱。 题解: 先计算价格为0的书的数量,这些书必须买,如果M小于这个数值,直接输出Impossible 然后遍历一遍挑选价格非0的书直到总数为M 然后遍历剩下的书,取价格最小值。 挑选的书籍的总价格加上最 阅读全文
posted @ 2020-03-16 19:59 zlc0405 阅读(138) 评论(0) 推荐(0) 编辑
摘要:题意: 给出男生的人数,女生的人数,和每个人的身高和喜好。 有些男生喜欢高的女生,有些男生喜欢矮的女生,女生也一样。 只能在异性之间进行配对,询问最多能配对几对。 题解: 开四个数组分别存储四种人,只能喜好不同的异性才能配对,用双下标法配对两次即可。 #include<bits/stdc++.h> 阅读全文
posted @ 2020-03-16 19:54 zlc0405 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题意: 有一排植物,初始高度是0。机器人从坐标轴0处出发,最多走k步,每走过一株植物,该植物的能量增加i(i为植物的坐标)。问怎么安排机器人的路线使得植物中最少的能量最大,并输出那个值。 题解: 二分查找,枚举所有可能的能量值。 每次check,先计算以x为最小值的情况下,每个位置至少要走几步。 然 阅读全文
posted @ 2020-03-16 19:17 zlc0405 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意: 给出两串01序列,一次操作可以使得一个区间l,r内的所有字符反转,要求两次操作后第一串序列变成第二串序列,询问有多少种方案? 题解: 先做一个异或运算,相同的为0,不同的为1,存到一个新的数组里 如果长度为1位且相同,那么直接输出1 如果每一位都不相同,那么方案数为(N-1)*2 如果每一位 阅读全文
posted @ 2020-03-16 19:11 zlc0405 阅读(108) 评论(0) 推荐(0) 编辑
摘要:Description “狼爱上羊啊爱的疯狂,谁让他们真爱了一场;狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈可以看作一个n*m个矩阵格子,这个矩阵的边缘已经装上了篱笆。可是Drake很快发现狼再 阅读全文
posted @ 2020-03-16 11:32 zlc0405 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题意: 给出一个无向图,每个询问给出三个点u,v,w,询问能否从v和w找到通往u的路径,且两条路径没有重合的地方。 题解: 图不一定连通,当v,w有任何一个跟u不在一个连通块上,那就直接输出No(用并查集判断) 然后用tarjan算法缩点,每个双连通分量为一个点,建立一个新的图,由于图不一定连通,可 阅读全文
posted @ 2020-03-15 18:57 zlc0405 阅读(208) 评论(0) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> using namespace std; const int mod=100003; typedef long long ll; ll power (ll a,ll b) { if (b==0) return 1; ll cnt=power(a,b/2 阅读全文
posted @ 2020-03-14 21:19 zlc0405 阅读(125) 评论(0) 推荐(0) 编辑
摘要:Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA 相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系等等的存在.所谓N边关系,是指N个人 A1A2 ...An之间仅存在N对认识关系:(A1A2)(A 阅读全文
posted @ 2020-03-14 21:12 zlc0405 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意: 查询一个边集,使得这个图里起点到终点的最短路径变长。 题解: 先用spfa跑一遍最短路,把不在最短路径上的边权设为0,然后跑一遍Dinic算法求最大流/最小割。 #include<cstdio> #include<cstring> #include<algorithm> #include<q 阅读全文
posted @ 2020-03-14 20:39 zlc0405 阅读(115) 评论(0) 推荐(0) 编辑
摘要:题意: Tom和Jerry在度假,他们在一条单行路上,有一些车在他们前面,第i辆车长度为li,它的头离停止线Si,最大速度Vi。 Tom和Jerry的车长L0,距离停止线S0,速度V0.他们必须保持低于前面那辆车的速度。但如果前面没有车,就可以开到最大的速度。 他们想知道他们通过红绿灯的最短时间。 阅读全文
posted @ 2020-03-14 20:33 zlc0405 阅读(88) 评论(0) 推荐(0) 编辑
摘要:题意: 有两种操作: 0 l r 在区间l,r里面选择一些数,使得他们的异或和最大,并输出这个最大值。 1 x 将x推进序列,序列长度加1。 题解: 看了网上的线性基才会做,知识盲区... #include<cstdio> #include<algorithm> #include<cstring> 阅读全文
posted @ 2020-03-14 19:28 zlc0405 阅读(108) 评论(0) 推荐(0) 编辑
摘要:A.Calendar 题意: 每一年12个月,每个月30天,每星期只有5天,问下一个日期是星期几。 题解: 直接忽略年和月,算天数就可以得到答案。 #include<bits/stdc++.h> using namespace std; typedef int ll; int T; int year 阅读全文
posted @ 2020-03-14 19:12 zlc0405 阅读(208) 评论(0) 推荐(0) 编辑
摘要:Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有 多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张红色,Sb张蓝色,Sg张绝色.他又询问有多少种方 案,Sun想了一下,又给出了正确答案. 最后小春发 阅读全文
posted @ 2020-03-14 11:15 zlc0405 阅读(107) 评论(0) 推荐(0) 编辑
摘要:题意: 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转 停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种 因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目 阅读全文
posted @ 2020-03-13 15:15 zlc0405 阅读(184) 评论(0) 推荐(0) 编辑
摘要:题意: 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下三种类型的道路 1:(x,y)<==>(x+1 阅读全文
posted @ 2020-03-13 11:32 zlc0405 阅读(156) 评论(0) 推荐(0) 编辑
摘要:题意: jiubei的朋友们很喜欢玩TFT(Teamfight Tactics)。和大多数自走棋游戏一样,在TFT中有很多不 同种类的羁绊,每个被激活的羁绊会给予部分上场的英雄战斗力加成。jiubei的备战区有一些英雄,他 想知道怎么样能够使总战斗力最高的阵容得以上场。 为了简化问题,假设jiube 阅读全文
posted @ 2020-03-11 17:20 zlc0405 阅读(121) 评论(0) 推荐(0) 编辑
摘要:题意:给定一个单链表 ,现在jiubei和Kwords想玩一个叫做链表取数的游 戏,jiubei每次取出链表的表头,Kwords需要在剩余的结点中,从头开始找到第一个比jiubei所取的值 更大的结点,如果无法找到这样的结点,则游戏结束。 在游戏过程中,两个人每取出一个结点,便会将这个节点连接在自己 阅读全文
posted @ 2020-03-11 10:30 zlc0405 阅读(142) 评论(0) 推荐(0) 编辑
摘要:干了一天终于把陕西省赛的I题补出来了。。。给自己鼓个掌 题意: 给出一棵树。 字典树的原理是从根节点开始,每个结点代表的字符串是它的父亲结点代表的字符串加上边上那个结点。 不允许出现两个结点代表的字符串相同。 询问有多少个结点可以作为根节点。 题解: 首先检查每个节点的边集,如果在边集中出现aaa或 阅读全文
posted @ 2020-03-07 22:23 zlc0405 阅读(399) 评论(1) 推荐(0) 编辑
摘要:题意: 在一个N行M列的棋盘上,让你放若干个炮,可以是0个,使得没有一个炮可以攻击另一个炮,请问有多少种放置方法。 题解: 因为每一行每一列的炮的数量<=2 考虑开dp数组存储有几列放了一个炮,有几列放了两个炮 dpi[k],表示放了前i行,有j列是有一个棋子,有k列是有2个棋子的合法方案数 空的序 阅读全文
posted @ 2020-03-07 11:39 zlc0405 阅读(126) 评论(0) 推荐(0) 编辑
摘要:B. 按要求建图,判欧拉路径 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+14; //vector<int> g[maxn]; int N,M; int T; int x; char s[maxn]; int inD 阅读全文
posted @ 2020-03-06 23:39 zlc0405 阅读(143) 评论(0) 推荐(0) 编辑
摘要:题意: 作者喜欢观察动物,因此他购买了两个照相机,以拍摄森林中野生动物的视频,一台摄像机的颜色是红色,一台摄像机的颜色是蓝色。 从第1天到第N天,作者将拍摄N天的视频。森林可以分为M个区域,编号从1到M。他将通过以下方式使用相机: 在每个奇数天,将红色相机带到森林中并录制两天的视频。 在每个偶数天, 阅读全文
posted @ 2020-03-06 13:59 zlc0405 阅读(195) 评论(0) 推荐(0) 编辑
摘要:题意: 给你一棵树。 每次询问,在x和y顶点之间添加了一条边后,如果存在一条路径,该路径恰好包含从a到b的k条边,可以保证原始树不存在x和y之间的边,路径可以经过相同的顶点和边。每个查询相互独立。 题解: 可以推出有三种可能的路径。 a->b a->x->y->b a->y->x->b 求出这三种路 阅读全文
posted @ 2020-03-06 11:21 zlc0405 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题意: 提供一个长度为n-1的字符串,仅由字符<和>组成。第i个字符是序列中第i个元素和第i+1个元素的比较结果。 他希望你找到两个可能的序列,由介于1和n之间的n个不同的整数组成,每个整数都满足比较结果,其中第一个序列的LIS长度最小,第二个序列的LIS长度最大。 题解: 求解LIS长度最小的序列 阅读全文
posted @ 2020-03-05 22:18 zlc0405 阅读(80) 评论(0) 推荐(0) 编辑
摘要:题意: 有一家烤肉餐厅,每天会迎接很多顾客。 每个顾客,他们都有自己能接受的温度范围。如果他们进入餐厅时温度在他们的接受范围内,他们就会感到高兴。 餐厅的空调有三种状态:关闭,加热,冷却。加热时温度每分钟升高一度。冷却时温度每分钟下降一度。 现在给出所有会来的顾客的到达时间,所能接受的最低温度和最高 阅读全文
posted @ 2020-03-05 20:18 zlc0405 阅读(98) 评论(0) 推荐(0) 编辑
摘要:题意: 给你N个等长的字符串,这些字符串各不相同。 你需要丢弃一些字符串(可能没有或者全部),使得剩下的字符串根据某种排序方式可以组成回文串。 输出你可以组成的最长字符串的长度,并且打印这个回文串。 题解: 开一个集合存放已经遍历过的字符串。因为每个字符串都不一样,所以不用担心两个一模一样的字符串被 阅读全文
posted @ 2020-03-05 20:01 zlc0405 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题意: 对于一个字符串S,如果前半部分都是'(',后半部分都是')',那么它就是一个简单的字符串。 现在,你被赋予了一个由'('和')'组成的字符串,这个字符串不一定简单。 规定:每次操作可以从原字符串删除一个简单的子序列。 你的目标是找到最小的操作次数,使得剩下的字符串没有任何操作空间。 题解: 阅读全文
posted @ 2020-03-05 19:42 zlc0405 阅读(195) 评论(0) 推荐(0) 编辑
摘要:7-1 #include<bits/stdc++.h> using namespace std; const int maxn=10014; int main () { int N; scanf ("%d",&N); int a[maxn],sum=-1,tmp=0,left=0,right=N-1 阅读全文
posted @ 2020-03-05 16:43 zlc0405 阅读(132) 评论(0) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> using namespace std; const int maxn=1014; int ans=0; int num=0; int isprime (int n) { if (n<=1) return 0; for (int i=2;i<=sqrt 阅读全文
posted @ 2020-03-04 22:51 zlc0405 阅读(119) 评论(0) 推荐(0) 编辑
摘要:唉 发挥的不太好,总是想错想多。。。 下一周加强训练,争取冲进前十。 一定要去天梯赛。 A 判断一个大数是否能被13整除。 #include<bits/stdc++.h> using namespace std; string s; long long a[100014]; int main () 阅读全文
posted @ 2020-03-03 23:09 zlc0405 阅读(173) 评论(0) 推荐(0) 编辑
摘要:首都的郊区正在柏林积极建设。该公司“核心恐慌”管理着新伯尔斯科瓦一座摩天大楼住宅区的建设。所有的摩天大楼都是沿着公路建的。据了解,该公司已经在高速公路沿线购买了n块地,并准备建造n座摩天大楼,每块地一座摩天大楼。 建筑师在规划摩天大楼时必须考虑几个要求。首先,由于每个地块上的土地都有不同的属性,因此 阅读全文
posted @ 2020-03-01 19:36 zlc0405 阅读(122) 评论(0) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> using namespace std; const int maxn=10010; struct node { int data; node * left; node * right; }; int M,N; int post[maxn],in[ma 阅读全文
posted @ 2020-03-01 18:46 zlc0405 阅读(126) 评论(0) 推荐(0) 编辑
摘要:题意: 尼古拉最近才开始从事竞争性节目,但已经有资格进入一个著名的奥运会决赛。将会有n个参与者,其中一个是尼古拉。像任何好的奥林匹克运动会一样,它由两轮组成。厌倦了传统规则,解决最多问题的参与者获胜,组织者想出了不同的规则。 假设在第一轮中,参与者A排在第x位,在第二轮中,参与者A排在第y位。那么参 阅读全文
posted @ 2020-03-01 15:49 zlc0405 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题意:厌倦了无聊的办公室工作,丹尼斯决定开一家快餐店。 第一天,他用炼乳包了一份饺子、一份酸梅汁和一份煎饼。 丹尼斯餐馆的特点是点餐的程序。丹尼斯自己为每位来访者挑选了一套客人将要接受的菜肴。这样做时,丹尼斯遵循以下规则: 每位游客至少应得到一道菜(饺子、酸梅汁、炼乳煎饼都被视为菜肴); 每位游客最 阅读全文
posted @ 2020-03-01 15:47 zlc0405 阅读(132) 评论(0) 推荐(0) 编辑