随笔分类 - 思维题
摘要:题:https://codeforces.com/contest/1463/problem/E 题意:给定拓扑图,在给定链(以边的形式给出),问是否能在拓扑顺序中找出一个序列使得这个序列包含给定的链(x->y->z)。 分析: 给定的拓扑图我们可以当作一个DAG,然后给定的m个边我们可以在原图上进行
阅读全文
摘要:题:https://codeforces.com/contest/1463/problem/D 题意:从1~2*n之间随意取出n个pair,选定其中x个取出其中的最小值,选定其中(n-x)取出其中的最大值,组成n个数恰好是给定的set(这里记为f1数组),问0<=x<=n,有多少个取值是满足题意的(
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/4138/A 题意:给定一个1~n的序列,在任意长度大于等于2的子序列中,假设相邻的为x,y,那么若min(x,y)<=k<=max(x,y),那么询问的k增加1的贡献,问k为1~n的答案为多少 分析:考虑每个i 和 j (
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=6241 题意:给定n个点的树,给定A约束和B约束,[x,y]分别表示以x为子树的节点至少要有y个黑点,除x子树外的节点至少有y个节点,问满足所有约束的最少黑点数是多少,不存在则输出-1 分析:二分答案,关键是把
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/7831/H 题意:给定n个点的树,每个节点都有颜色; 询问[Q,y]:求把所有y颜色的节点联通起来用的最少的边数。 更新[U,x,y]:将x节点的颜色改为y; 分析: 对于询问,我们可以假象为有俩个点作为总边,剩余颜色的点
阅读全文
摘要:题:https://codeforces.com/contest/1417/problem/F 题意:给定n个点,m条边,每个点都有点权a[ i ]的无向图。 操作一[1,v],找到从当前图v点出发能到达点的最大的a[ i ]输出,并把该点赋值为0; 操作二[2,v]删除第v条边; 分析: 假设这个
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=6888 题意:给定n个二维坐标系上的矩形,问每插入一个矩形后这些矩形的周长并是多少(强制在线,1<=n<=1e5,1<=x,y<=1e9,且每个矩形的下边界一定是x轴)。 分析: 强条件:每个矩形的下边界一定是
阅读全文
摘要:题:https://ac.nowcoder.com/acm/problem/24950 题意:给n点,m边无向图,dis[u,v]代表从u到v的路径上边的最大值,现在给定整数k,代表可以抵消掉k条边,问dis[1,n]的最小值。分析: n<=1000,不能直接地对原图进行最短路,我们可以考虑二分考虑
阅读全文
摘要:题:http://codeforces.com/contest/1406/problem/D 题意:给定a数组,要求b序列(非降)和c序列(非升)组成a序列(bi+ci=ai),要求输出最小化的最大值max(b1,ci),支持区间加操作 分析:先考虑只求原序列的答案,假设bn=b1+sum(sum>
阅读全文
摘要:题:https://codeforces.com/problemset/problem/1404/C 题意:给定n个数的序列,每次可将下标==权值的位置remove,剩下的俩个区间则合并在一起。q个询问区间问[l+1,n-r]最多能删去多少个。 分析:前面的点对后面的位置有影响,所以先将查询离线起来
阅读全文
摘要:题:https://codeforces.com/contest/1399/problem/E2 题意:给定一棵树,每个边权有w值和id值,分别代表边权和将改边权降为w/2的代价(1<=id<=2),当前代价nowsum为根节点到叶子节点路径的总和,问要经过最少多少id代价能将nowsum降为<=S
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/5675/C 题意:选择路径所有边权减1,问最少多少次操作能让所有边权等于0,支持边修改 分析:我们选择的路径只用考虑起点即可,对于一个节点我们用临边边权和来考量它; 第一种情况为有一条边的边权大于总和的一半,假设差值为x,
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/5667/G 题意:给定n个数的数组A,m个数的数组B,问在A中有多少个子数组满足Si>=Bi 分析:我们可以考虑记录合法子数组以数组A中的一个位置代表一个合法子数组(因为长度固定为m); 设bitset 的ans和tmp,
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/5667/J 题意:要求构造出序列P,让初始排列A={1,2,3,4....n}依照P序列跳转k次后得到给定排列。 分析:简单分析可发现,若存在合法情况的话,跳转的过程肯定在若干个简单环上; 我们可以简单模拟,设每个环大小为
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/5667/C 题意:选最少数量的“链”来覆盖整颗树,使树的每条边都至少被覆盖一次 分析:关键是理解证明过程: : #include<bits/stdc++.h> using namespace std; #define pb
阅读全文
摘要:题:https://codeforces.com/contest/1373/problem/D 题意:翻转1次,求最大偶数位和 分析:先把偶数位的值加起来,然后只能翻转一次,那么要是有翻转奇数位的贡献只能是+a[i]-a[i-1]或+a[i]-a[i+1](这是对于翻转的整个子区间来说的),那么只要
阅读全文
摘要:题:https://codeforces.com/contest/1366/problem/E 题意:划分a数组为m组,让每一组的最小值刚好为b数组,求划分方案数 分析1:关键是b数组是严格递增的!我们先看最小值,因为b递增,所以我们假想在a中找b数组的值的基准一定是每个bi 在a数组中最后出现的值
阅读全文
摘要:题:https://codeforces.com/contest/1359/problem/E 题意:给定一个n和k,可以构造出k个数的序列{ai},要求,对于一个非负数x,对x连续取序列{ai}取模后的值要等于任意编号序列的{ai}取模后的值。且1<=a1<a2....an<=n,问满足条件的个数
阅读全文
摘要:题:https://codeforces.com/contest/1358/problem/E 题意:给定一个n个数的数组,问是否存在k,使得任意连续的k个数之和都大于零,若存在就输出k,否则输出-1。特别地,题目保证数组后floor(n/2)个数的值均为 x。 分析: 贪心地去考虑的化,k的大小一
阅读全文
摘要:题:https://codeforces.com/contest/1353/problem/F 题意:给定n*m的矩形,每个位置都有aij的高度,位于某一位置你只能向下或向右走,且得满足下一个格子高度y和当前格子高度x条件:y==x+1; 分析:我们可以把题目条件转化为y==x,那么就可以通过确定一
阅读全文

浙公网安备 33010602011771号