- 博客(11)
- 收藏
- 关注
原创 Codeforces Round #548 (Div. 2) 题解
题目链接http://codeforces.com/contest/1139A. Even Substrings判断个位是否是奇数即可。#include <iostream>#include <set>#include <array>#include <vector>using namespace std;typedef...
2019-03-31 18:03:58 378
原创 Codeforces Round #546 (Div. 2) 题解
题目链接:http://codeforces.com/contest/1136A. Nastya Is Reading a Book水题。#include <bits/stdc++.h>#define fi first#define se second #define lson l,mid,rt<<1#define rson mid+1,r,rt...
2019-03-19 21:16:01 209
原创 CodeForces #545(div.2)题解
题目链接:http://codeforces.com/contest/1138A. Sushi for Two解题思路:利用"缩点"变成1,2,1,2...或者2,1,2,1...的模式然后每个点都有权值,权值就是原序列相同连续段的总数。最后枚举相邻的两个取max就好了。#include<iostream>#include<cstdio>#inc...
2019-03-14 14:14:05 187
原创 CF 542E - 构造
题目链接:http://codeforces.com/contest/1130/problem/E解题思路:设一个分界点x,假设a[1~x]<0,a[x+1~n]>=0,那么题目给的程序的结果一定就是ans = (n-x) * ∑a[x+1~n]但答案显然不是这样,设S = ∑a[x+1~n],l = (n-x),如果我要把a[x]加入进去可以使答案更大,那么就有...
2019-03-07 20:37:29 250
原创 CF 542D - 贪心
题目链接:http://codeforces.com/contest/1130/problem/D2解题思路:假设从i点转一圈回到i点,那么之前从i点下车的那个人肯定已经下车了,所以最后一个从i上车的肯定是经过的站最少一个那个(最少值为len[i]),这样就能保证最后一次不会多走。c[i]表示i车站有多少人,那么从第一次要把i车站的人送完最少要花:v(从起始点到i点的距离) + ...
2019-03-07 20:25:33 180
原创 CF 542C - n^4枚举
题目链接:http://codeforces.com/contest/1130/problem/C解题思路:一个数组维护(r1,c1)能到达的点,一个数组维护(r2,c2)能到达的点,数组两两枚举取最小即可。#include<algorithm>#include<cstdio>#include <iostream>#include...
2019-03-07 20:17:44 196
原创 CF 542B -思维题
题目链接:http://codeforces.com/contest/1130/problem/B解题思路:因为是要两个人总和最小,所以只要保证每次两个人选择的总花费最少就好了。#include<algorithm>#include<cstdio>#include <iostream>#include <map>us...
2019-03-07 20:14:32 952
原创 洛谷 P2422-仙人掌图
题目链接:https://www.luogu.org/problemnew/show/P4244解题思路:不懂基环树的可以先做这个:https://blog.csdn.net/a1214034447/article/details/88318541对于仙人掌图可以看做基环树中环的节点为根的树还是个基环树的多个“嵌套”。所以做法是大同小异。但这里要求最小距离的最大,而且边长度都...
2019-03-07 20:09:40 893
原创 BZOJ 1791-基环树DP
题目链接:https://darkbzoj.cf/problem/1791解题思路:如果题目给的是一棵树,那么就跟简单了,直接搞个DP求出树上最长两点路径就OK了:dp[i]表示以i为子树的节点到i的最长距离。那么有ans = max(ans,dp[u]+dp[v]+1);dp[u] = max(dp[u],dp[v]+1);其中v是u的子节点。所以我们可以把这个基环...
2019-03-07 19:57:48 234
原创 hdu 6392 - 线段树 + 并查集
题目思路:http://acm.hdu.edu.cn/showproblem.php?pid=6392解题思路:线段树叶子维护每列并查集的情况,每个区间维护最左端列的祖先和最右端列的祖先(这里它们维护的祖先是区间内的祖先不是整个矩形的祖先)。在区间合并的时候要先初始化左右子区间的左右端列的祖先,因为它们的祖先可能已经不再子区间中了,在之前的合并中已经跑出去。在这次新的合并中要使得...
2019-03-02 21:37:10 336
原创 洛谷 P3402 - 可持久化并查集
题目链接:https://www.luogu.org/problemnew/show/P3402解题思路:可持久化并查集也就是可持续化线段树 + 并查集 == 主席树 + 并查集像我们平常做的并查集都是路径压缩,但因为要保证可持续化,所以信息不能改变,所以我们采用启发式合并来合并集合。启发式合并的树最高深度不会超过log(n)+1。因为深度为2的树需要两个点,那么深度为3的...
2019-03-02 21:02:24 297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人