09 2020 档案
摘要:题:https://codeforces.com/contest/1417/problem/F 题意:给定n个点,m条边,每个点都有点权a[ i ]的无向图。 操作一[1,v],找到从当前图v点出发能到达点的最大的a[ i ]输出,并把该点赋值为0; 操作二[2,v]删除第v条边; 分析: 假设这个
阅读全文
摘要:圆排列: 问题:有n个不同的人,问围成一桌吃饭,问有多少种相对位置不同的做法; 分析:已知线排列是n! ,那么将首位连起来就是圆排列,每旋转一个人的度数对应一个新的线排列,可选择n次,也就是说每个圆排列较线排列来说出现了n次,那么圆排列的个数为n! / n = (n-1)!. 题:https://a
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=6888 题意:给定n个二维坐标系上的矩形,问每插入一个矩形后这些矩形的周长并是多少(强制在线,1<=n<=1e5,1<=x,y<=1e9,且每个矩形的下边界一定是x轴)。 分析: 强条件:每个矩形的下边界一定是
阅读全文
摘要:题:https://codeforces.com/contest/1418/problem/G 题意:给定n(n<=5e5)的序列,问有多少个子序列(连续)满足所有值只出现确切3次。 分析:总操作:枚举左端点,查看多少个满足的右端点; 对于某个值,要么不出现,要么只出现3次,那么对于当前枚举的左端点
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=6278 题意:求区间中最大的x,满足大于等于x的数量大于等于x 分析:二分找答案,check(mid)为查询区间中第len-mid+1大的数是否大于mid #include<bits/stdc++.h> usi
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/110867题意:给定n个数序列,m个询问[l,r]问l~r中距离最短的且a[x]==ay,输出最短距离(n,m<=5e5)分析: 同一种数的话只需要和其相邻比较; 其次,思考怎么这个pair会在选定的范围内; 考虑离线处理
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/24950 题意:给n点,m边无向图,dis[u,v]代表从u到v的路径上边的最大值,现在给定整数k,代表可以抵消掉k条边,问dis[1,n]的最小值。分析: n<=1000,不能直接地对原图进行最短路,我们可以考虑二分考虑
阅读全文
摘要:题:https://nanti.jisuanke.com/t/48303 题意:有n个位置,每个位置染成黑色有bi效益,染成白色有wi效益,有m个区间[t,l,r,w]当t==1时,[l,r]染成黑色,那么会获得额外效益w,白色同理。求最大效益。 分析:设dp[i]为前 i 位置能获得的最大效益,那
阅读全文
摘要:题:http://codeforces.com/contest/1406/problem/D 题意:给定a数组,要求b序列(非降)和c序列(非升)组成a序列(bi+ci=ai),要求输出最小化的最大值max(b1,ci),支持区间加操作 分析:先考虑只求原序列的答案,假设bn=b1+sum(sum>
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=5306 题意:给定n个数的序列,操作一:对于[x,y]取min(ai,t),操作二:取[x,y]最大值,操作三:取[x,y]的ai和 分析:华点:增设一个次大值,不直接,更新传递下去,完成更新。 设fir为区间
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/16735 分析:枚举时间。dp[i][j][k][z],代表从(1,1)到(j,k)由方式z走到的方案数,第一维记录上一次的状态 #include<bits/stdc++.h> using namespace std; t
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/19809 题意:俩个属性ai,bi,每天可以选择任选一个属性加1,有n件物品属性:xi,yi,zi,当属性ai>=xi&&bi>=yi,在接下来的每天中都会获得zi的收益,问在m天中最多能收益多少(m<=2e8,xi,y1
阅读全文
摘要:题:https://codeforces.com/contest/1404/problem/E 题意:给定n*m矩阵‘#’表示要用砖头覆盖,‘.’表示不能被覆盖,只有1*x的砖头(x可任意),问在砖头不相互覆盖的前提下,最少用几块砖头能按规定把矩阵覆盖 分析: 假设一开始全部都是1*1的砖头去覆盖,
阅读全文
摘要:题:https://codeforces.com/contest/1407/problem/D 题意:给定n个数的高度,若位置 i 能跳到位置 j 得满足以下任一条件: i+1=j max(hi+1,…,hj−1)<min(hi,hj) max(hi,hj)<min(hi+1,…,hj−1) 问最少
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/200191 题意:给定一棵树,操作一:把u变为x,操作二统计u~v的最短路径中的各子路径的节点的异或和的异或和。1<=n,q<=1e5 分析:考虑一个节点要么被异或到,要么不被异或到,只与被路径选中次数的奇偶有关。 假设节
阅读全文
摘要:题:https://codeforces.com/problemset/problem/1404/C 题意:给定n个数的序列,每次可将下标==权值的位置remove,剩下的俩个区间则合并在一起。q个询问区间问[l+1,n-r]最多能删去多少个。 分析:前面的点对后面的位置有影响,所以先将查询离线起来
阅读全文
摘要:题:https://nanti.jisuanke.com/t/42397 题意:给定矩阵,若相邻位置比当前位置多1,那么就可以从当前位置走到此相邻位置,定义一条合法路径为经过位置数大于等于4,一条路径是能扩增就扩增,不能截取一段来做路径,问给定矩阵有多少条合法路径。 分析:在相邻点判断建有向边,用拓
阅读全文
摘要:题:https://www.luogu.com.cn/problem/P3377 #include<bits/stdc++.h> using namespace std; #define pb push_back #define MP make_pair typedef long long ll;
阅读全文
摘要:题:https://codeforces.com/contest/1399/problem/E2 题意:给定一棵树,每个边权有w值和id值,分别代表边权和将改边权降为w/2的代价(1<=id<=2),当前代价nowsum为根节点到叶子节点路径的总和,问要经过最少多少id代价能将nowsum降为<=S
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/4114/C 题意:给定无向图定向,使之成为定向图同时使最长路最短 分析:狄尔沃斯定理。给n个点染色,要求最后图相邻点颜色不能相同,然后编号小的向编号的大走,那么最长路就是颜色种类-1,用dfs求出最小染色数 #includ
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/4114/G 题意:给定一棵树,给定m个确定的点,问从1~n为起点开始,走过着m个点的最短距离是多少(不用回来) 分析:考虑根为1的情况,那么答案就是(所有1到m个点的边距离和)*2-(1到最远点的距离),因为不用回来; 考
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/13884 题意:给定n,m,k,代表n个连续的格子,要求用m种颜色去涂色,要求图上的色的种类恰好为k。(n,m<=1e9,k<=1e6) 分析:恰好的字眼,说明要转成,不多于或至少的答案去做,再用容斥去求; 假设用不超过k
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/19158 题意:给定n个物品和限制m,每次取出的物品分出来的的重量之差的绝对值要小于等于m,问最重的取走多少重量的物品 分析:dp[i][j]表示前i个物品之间差值为j的最大重量,转移dp[i][j]=max(dp[i-1
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=6761 分析:每个位置的答案就是加入当前的字符后,该字符串lyndon分解后最后一个lyndon的最左边的位置 lyndon分解参考:https://blog.csdn.net/wayne_lee_lwc/ar
阅读全文