2019 CCPC 湖南全国邀请赛】的更多相关文章

A. Chessboard 做法1 单纯形. 做法2 最大费用可行流问题,行列模型. 对每行建一个点,每列建一个点.物品 \(i\) 在 \((r,c)\),那么 \(r\) 向 \(c\) 连流量为 1 费用为 \(i\) 的边. 若第 i 至第 inf 行可选择物品上界为 k.那么 i-1 行向 i 行连流量为 k 的边,源点向第 0 行连流量为 inf 的边.列同理. B. Build Tree 贪心,把边权小的边,深度小. C. Chika and Friendly Pairs 对询问离…
链接:https://nanti.jisuanke.com/t/38229 题意: 给一棵树,多次查询,每次查询两点之间权值<=k的边个数 题解: 离线询问,树链剖分后bit维护有贡献的位置即可 #include <bits/stdc++.h> #define rep(ii,a,b) for(int ii=a;ii<=b;++ii) using namespace std; const int maxn=2e5+10,maxm=2e6+10; int n,m; #define tp…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6281 题意: 根据已给出的式子,进行排序,然后输出排完序后原先的下表. 题解:用结构体保存,在用结构体排序,利用stable_sort()稳定排序.因为会爆long long ,所以对式子进行转换. 代码: #include<bits/stdc++.h> using namespace std; struct node{ int n; long long a,b,c; friend bool op…
题意: 给出N个小时,分配这些小时去写若干份论文,若用1小时写一份论文,该论文会被引用A次,新写一篇论文的话,全面的论文会被新论文引用一次. 找最大的H,H是指存在H遍论文,而且这些论文各被引用大于H次. 思路: 第一步,我们要想怎么样分配这些时间,毫无疑问,当N个小时写N份论文时为最优方案. 证明如下:  如果一开始的A>数量的话,就一直写新的:(没疑问吧!!!,如果A>数量,你还写旧的不是浪费时间吗???)  然后我们就会到一个分水岭 到达 A=数量(这时还是可以接受的,因为这里的A也算进…
题意: 求H的最大值,  H是指存在H篇论文,这H篇被引用的次数都大于等于H次. 思路:题意得,  最多只有N遍论文,所以H的最大值为N, 常识得知H的最小值为0. 所以H的答案在[0,N]之间,二分搜一下,如果满足就提高下限,不满足则降低上限. 嗯就这样!!!! AC code: #include<bits/stdc++.h> using namespace std; int n; vector<); int main() { bool check(int t); while(scan…
HDU – 6282 http://acm.hdu.edu.cn/showproblem.php?pid=6282 by Hzu_Tested 题意:给出两个字符串S和T,只由a,b,c三种字符组成(不为空串,长度不一定相同,不一定包含所有字符).对字符串S可以进行几种操作:在任意位置添加/删除字符串aa,bb,abab.问字符串S是否能通过以上几种操作变成T,输出Yes/No. 思路:字符串变化的问题,先找出所有可行的操作:添加/删除aa,bb,abab,即只能添加/删除偶数个a/b,无法添加…
题意 给一颗带点权的树,三种操作 \(1~s~t\) 修改从1到s的路径上的所有点,\(a[i]=a[i]|t\) \(2~s~t\) 修改从1到s的路径上的所有点,\(a[i]=a[i]\&t\) \(3~s~t\) 询问将1到s的路径上的所有点作为石头堆,再加上一个个数为\(t\)的石头堆,进行一次尼姆博弈,先手胜利输出YES,否则输出NO 分析 尼姆博弈先手必胜条件为所有石头堆异或和为0,将询问转化为求1到s的路径上的所有点的异或和, 先树链剖分一下给每个点重新编号,然后线段树维护区间异或…
Then n - 1n−1 lines follow. ii-th line contains two integers f_{a_i}(1 \le f_{a_i} < i)fai​​(1≤fai​​<i), w_i(0 \le w_i \le 10^{18})wi​(0≤wi​≤1018) —The parent of the ii-th node and the edge weight between the ii-th node and f_{a_i} (ifai​​(istart fr…
比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛 ×  Problem A A simple problem   (求N % 1 + N % 2 + ....+ N % N, 待补) ?  Problem B Path √  Problem C Range   (单调栈) √  Problem…
https://nanti.jisuanke.com/t/39280 讲道理这题写bfs求最大边权限制下从1到n的最短步数,然后二分判一下就行了. 然鹅我还是直接套了dij,一开始纠结dij能不能过,后来同学帮讲了一下发现由于二分的存在还是没问题的. 数论还没怎么学,D的dp也先不补了,窝dp奇差.不过图论还是要补的,而且这题好像全世界都会. #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define…