上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页
摘要: 【题解】 活捉大水题。 这道题并不涉及什么决策。最左边的那一堆纸牌如果与平均数不相等,就必须是第二堆纸牌进行调整,然后第二堆纸牌就变成了第一堆。从左到右进行一遍即可。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #de 阅读全文
posted @ 2018-08-08 21:53 Driver_Lao 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 【题解】 本题要求求出区间内的各个元素通过加减之后能够得出的最小的数,那么根据裴蜀定理可知答案就是区间内各个元素的最大公约数。 那么本题题意化简成了维护一个序列,支持区间加上某个数以及查询区间元素的最大公约数。 我们要证明这样一个定理: 对于一个序列(a,b,c,d,...),gcd(a,b,c,d 阅读全文
posted @ 2018-08-07 22:25 Driver_Lao 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 【题解】 很容易想到暴力做法:对于每个询问暴力查找区间内的最小字母,统计其出现次数。效率O(N^2),无法通过全部数据。 我们可以换一个思路,设f[i][j]为第i个字母(字母‘A'到’Z'分别对应0到25)到第j个位置的出现次数和。 对于每个询问[L,R],我们只要从0到25枚举每个字母,如果满足 阅读全文
posted @ 2018-08-05 15:35 Driver_Lao 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 【题解】 二分答案。check的时候如果ai>A*mid,就把sum加上[(ai-A*mid)/B]上取整,最后判断sum是不是小于二分出来的最小时间mid即可。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #defi 阅读全文
posted @ 2018-08-05 14:49 Driver_Lao 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 【题解】 我们设原来的数组为a1,a2,a3..., 那么一次操作之后的数组变为a1+a2,a2+a3,a3+a4..., 两次操作之后数组变为a1+2a2+a3,a2+2a3+a4,a3+2a4+a5..., 三次操作之后数组变为a1+3a2+3a3+a4,a2+3a3+3a4+a5..., 有没 阅读全文
posted @ 2018-08-03 16:20 Driver_Lao 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 【题解】 很容易想到DP方程:f[i]+=f[i-a[i]] 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 2 阅读全文
posted @ 2018-08-03 07:58 Driver_Lao 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 【题意概述】 给出三行字符串,前两行代表密码与明文的对应关系,第三行为待翻译的文本。要求按照对应关系翻译文本。 【题解】 直接模拟即可。 注意判断Failed的情况。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #de 阅读全文
posted @ 2018-08-03 06:58 Driver_Lao 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 【题意概述】 给出一个图,点有正点权,边有正边权,通过两点的代价为两点间的最短路加上路径通过的点的点权最大值。 有M个询问,每次询问通过两点的代价。 【题解】 先把点按照点权从小到大排序,然后按照这个顺序跑floyed. 这样的话当前路径i-->k-->j的点权最大值只会在i,j,k中产生,用一个a 阅读全文
posted @ 2018-08-03 06:54 Driver_Lao 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 【题解】 这道题除去根操作就是普通的树链剖分了。但是有换根操作怎么处理呢? 我们可以发现如果现在的根不在查询的点的子树里,那么对本次查询没有影响。如果现在的跟在查询的点x的子树里,那么答案将变为整棵树除去现在的根root所属的x的孩子的子树。 为了快速确定root属于x的哪一个孩子,我们可以写个倍增 阅读全文
posted @ 2018-08-02 08:10 Driver_Lao 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 【题解】 分别做一遍最长上升序列和最长下降序列,再枚举峰的位置计算答案即可。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #de 阅读全文
posted @ 2018-08-01 20:33 Driver_Lao 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 【题解】 排个序然后扫一遍进行统计即可。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 200010 7 us 阅读全文
posted @ 2018-08-01 19:03 Driver_Lao 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 【题解】 我们要做的就是把这些数排序。排序的时候判断两个数是否交换的方法,就是把这两个数相接形成两个长度相同的数字,比较这两个数字的大小。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define N 200010 阅读全文
posted @ 2018-08-01 10:50 Driver_Lao 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 【题解】 维护个队列即可。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 200010 7 using nam 阅读全文
posted @ 2018-07-31 21:23 Driver_Lao 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 【题解】 简单粗暴的模拟题。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 200010 7 using na 阅读全文
posted @ 2018-07-31 20:53 Driver_Lao 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 【题解】 答案就是总的边权和减去最小生成树上的边权和。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 2000 阅读全文
posted @ 2018-07-31 20:50 Driver_Lao 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 【题解】 裸的最短路。直接跑dijkstra即可。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 200010 阅读全文
posted @ 2018-07-31 20:20 Driver_Lao 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 【题解】 最小生成树。区别仅仅是不需要连城一棵树,而是连成k棵树,也就是选择最小生成树里面最小的k条边。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg 阅读全文
posted @ 2018-07-31 20:18 Driver_Lao 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 【题解】 二分答案+贪心check. 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 200010 7 usin 阅读全文
posted @ 2018-07-31 20:15 Driver_Lao 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 【题解】 洛谷标签上说是二分,其实是个小学数学题??可以直接算的。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define 阅读全文
posted @ 2018-07-31 19:02 Driver_Lao 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 【题解】 纯模拟题。 我们都知道十进制数化成m进制数可以用短除法,即除m取余、逆序排列。而m进制数化为十进制数,按权展开求和即可。 但在本题中进制的基数R可能为负数,我们知道a%R的符号与R一致,也就是说在本题中我们用短除法得到的某一位上的值可能为负数,要注意向上一位借1化成正的。 1 #inclu 阅读全文
posted @ 2018-07-31 19:00 Driver_Lao 阅读(217) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页