11 2018 档案

摘要:今天,我们浙理养老队在18年赛季的比赛正式宣布结束了,先恭喜我们队在3场区域赛中拿了两块金牌,一块银牌,损失我的身份证我的U盘我的耳机,老天啊,队友不是拿来顶替自己的霉运的嘛,让他们的丢东西啊,别让我再丢了。 感谢胡大佬这半年来在我们队的奉献,胡大佬在今天和我们说再见了。谢谢胡同学吧,接下来我和潘少 阅读全文
posted @ 2018-11-26 23:30 Schenker 阅读(1004) 评论(2) 推荐(8)
摘要:题意:给你一个N边形, 然后这个n边形有n-3条边,然后询问2点之间的最短路。 题解:分治。 我们可以找到一条边,使得这幅图能分成大小相同的2幅图,那么我们就可以确定那些被分割开的询问的答案是多少了。 我们假定u v是分开的, 然后我们从u点bfs一遍现在的图,v点bfs一遍现在的图,确定所有点离这 阅读全文
posted @ 2018-11-21 16:30 Schenker 阅读(354) 评论(0) 推荐(0)
摘要:A: Adjustment Office 题意:在一个n*n的矩阵,每个格子的的价值为 (x+y), 现在有操作取一行的值,或者一列的值之后输出这个和, 并且把这些格子上的值归0。 题解:模拟, 分成xy轴就好了。 代码: #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2018-11-19 14:00 Schenker 阅读(302) 评论(0) 推荐(0)
摘要:B:Biking Duck 题意:现在有一个人要从(x1,y1)点走到(x2,y2)点, 现在走路的速度为v。 还有骑自行车的速度v2,自行车要从某个自行车站到另一个自行车站,现在我们可以视地图的边界都为自行车站,求最小时间是多少。 题解:对于忽视边界的问题,那就是暴力枚举。现在有了边界, 我们假设 阅读全文
posted @ 2018-11-19 13:16 Schenker 阅读(477) 评论(0) 推荐(0)
摘要:A:Frog Jumping 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w",stdout); #define LL 阅读全文
posted @ 2018-11-17 15:38 Schenker 阅读(218) 评论(0) 推荐(0)
摘要:题目传送门 题意:现在有n个人,现在可以把这n个人分成若干组,只有连续的人才能被分为一组,并且一个组内最多2个人,现在问你 所有组内的最大值-最小值 这个差值最小是多少。 题解: 将每个人的情况3种情况都拿出来,把这些所有的情况从小到大排序,然后我们枚举起点,然后一直不停的添加线段,然后直到当前的区 阅读全文
posted @ 2018-11-16 17:43 Schenker 阅读(231) 评论(1) 推荐(0)
摘要:A:A Prank 题意:给定一个递增序列, 问最多能删除多少个连续数字,要求删除数字之后能还原成原来的数列。 题解:直接找就好了,为了方便可以使得第0个数字为0, 第n+1个元素为1001 代码: #include<bits/stdc++.h> using namespace std; #defi 阅读全文
posted @ 2018-11-16 10:27 Schenker 阅读(259) 评论(0) 推荐(0)
摘要:Leaf Sets 题意:给你一棵树,树上有n个点,只有一条边的点叫做叶子,现在要求把所有的叶子分组,每个组内的所有叶子的距离都不能大于k。 题解: 我们可以随意找一个不是叶子的节点当做这颗树的根节点,这样这棵树中叶子就不会出现在上方了,现在我们先把所有的叶子都单独当做一个集合来。 假设现在我们在处 阅读全文
posted @ 2018-11-15 16:19 Schenker 阅读(161) 评论(0) 推荐(0)
摘要:A:Banks 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w",stdout); #define LL long l 阅读全文
posted @ 2018-11-12 11:26 Schenker 阅读(343) 评论(0) 推荐(0)
摘要:Kawa Exam 题解:先scc把图变成树, 然后对于这若干棵树在进行dsu的操作。 dsu就是先找到最大的子树放在一边,然后先处理小的子树,最后处理大的子树。无限递归。 重要的一点就是 是否重新添加每个点的值,每次处理完小的子树之后会清空影响,然后处理完最大的子树之后就不再清空影响,这样减少复杂 阅读全文
posted @ 2018-11-11 14:20 Schenker 阅读(293) 评论(0) 推荐(0)
摘要:B:Broken Watch (别问,问就是队友写的) 代码: import java.awt.List; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import 阅读全文
posted @ 2018-11-09 11:14 Schenker 阅读(654) 评论(0) 推荐(0)
摘要:题目传送门 题解:F[i][j] 表示 对于第一个数列枚举到i来说, 第二个数列以j结尾的最大长度是多少。 那么对于更新 F[i] -> F[i+1]来说 如果 a[i+1] == b[j] 那么我们就可以找到前面最大F[i][k]( k < j && b[k] < a[i+1])的值, 把他更新。 阅读全文
posted @ 2018-11-08 11:22 Schenker 阅读(160) 评论(0) 推荐(0)
摘要:题目传送门 题解: B[i]的值肯定是A[i]的值的某一个,将A[i]sort一下 F[i][j]表示 处理道第i个A[i] 以sort完后的新数组来说 B[j]结尾的最小花费。 代码: 1 #include<cstdio> 2 #include<algorithm> 3 #include<vect 阅读全文
posted @ 2018-11-06 23:21 Schenker 阅读(198) 评论(0) 推荐(0)
摘要:发现自己最简单的DP都不会。 今天开始补一下DP的部分。 希望不要再拖队友的后退了。 题意: 现在有n个人,n个人的身高分别为 1,2,3...n,现在要把他们排成k列,需要从每一行从左到右身高递增,每一列从前往后身高递增,求合法排序身高的方案数。 题解:f[a][b][c][d][e] 表示已经站 阅读全文
posted @ 2018-11-06 20:46 Schenker 阅读(254) 评论(0) 推荐(0)
摘要:题目传送门 题意:给你一棵树, 然后树上的点都有颜色,且原来为黑,现在有2个操作,1 改变某个点的颜色, 2 询问树上的白点到u点的最短距离是多少。 题解: 这里用的还是边分治的方法。 把所有东西都抠出来, 然后每次询问的时候都访问每幅分割图的另外一侧。 代码: 1 #include<bits/st 阅读全文
posted @ 2018-11-06 17:23 Schenker 阅读(250) 评论(0) 推荐(0)
摘要:题目传送门 题解:首先对于给定的图,需要找到那些从1好点出发然后到x号点的最短路, 如果有多条最短路就要找到字典序最小的路,这样扣完这些边之后就会有一棵树。然后再就是很普通的点分治了。 对于扣边这个问题, 我们先跑一遍最短路,这样就可以得到1号点到其他的点的距离。 然后在跑一遍dfs, 我们在跑df 阅读全文
posted @ 2018-11-01 17:36 Schenker 阅读(418) 评论(0) 推荐(0)
摘要:题意:找到一个连续区间,区间的长度至少大于f,现在要求这个区间的平均值最大。 题解: 二分找答案。 每次对于2分的mid值, 都把原来的区间减去mid, 然后找到一长度至少为f的区间, 他们的区间和>=0。 代码: 1 #include<cstdio> 2 #include<algorithm> 3 阅读全文
posted @ 2018-11-01 09:25 Schenker 阅读(165) 评论(0) 推荐(0)