![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM-ICPC
hello_world_banni
这个作者很懒,什么都没留下…
展开
-
CF EDU 22 F. Bipartite Checking (时间分治线段树+可撤销并查集+二分图判定)
CF EDU 22 F. Bipartite Checking∗2500*2500∗2500题意:You are given an undirected graph consisting of nnn vertices. Initially there are no edges in the graph. Also you are given qqq queries, each query either adds one undirected edge to the graph or removes原创 2020-11-03 15:17:23 · 138 阅读 · 0 评论 -
Codeforces E. Permutation Separation
类似二维偏序题意:给定111到nnn的一个排列p1,p2,...,pnp_1,p_2,...,p_np1,p2,...,pn,移动花费aia_iai。求先将排列划分为两个非空集合——p1,p2,...pkp_1,p_2,...p_kp1,p2,...pk和pk+1,pk+1,..pnp_{k+1},p_{k+1},..p_npk+1,pk+1,..pn,1≤k<...原创 2020-02-08 12:16:52 · 225 阅读 · 0 评论 -
Tree-structure树形结构入门
树形结构二叉树四种遍历方式:先序遍历二叉树顺序:根节点 –> 左子树 –> 右子树,即先访问根节点,然后是左子树,最后是右子树。上图中二叉树的前序遍历结果为:1 -> 2 -> 4 -> 5 -> 3 -> 6 -> 7中序遍历二叉树顺序:左子树 –> 根节点 –> 右子树,即先访问左子树,然后是根节点,最后是右子树...原创 2019-12-13 11:01:45 · 1912 阅读 · 0 评论 -
Backpack-problem背包九讲笔记
背包问题1 01背包1.1题目有NNN件物品和一个容量为VVV的背包,放入第iii件物品耗费的费用是CiC_iCi,得到的价值是WiW_iWi。求解将哪些物品放入背包可使价值总和最大。example1.2 基本思路这是最基本的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态,F[i][v]F[i][v]F[i][v]表示前iii件物品恰放入一个容量为vv...原创 2019-12-13 10:15:16 · 296 阅读 · 0 评论 -
Codeforces F. Maximum Weight Subset
题意:n个节点的树,每个点有权值,求满足点集内任两点间距离大于k的点集内的点权值和的最大值。思路:贪心解法:贪心的选比较大的值。将所有点按照深度从小到大排序,如果当前点的点权大于0,则将距离为以内的所有点权减,代表了选择当前点,答案的贡献为。如果下面有扫到了点权大于0的点。说明取这个点的收益更大,于是取点,并将距离为以内的点权减。那么为什么要按照深度从小到大排序呢?以样例2为...原创 2019-12-08 22:24:27 · 174 阅读 · 0 评论 -
hustoj 1059 K位子串最大和
题目链接#include<cstdio>#include<algorithm>using namespace std;long long res[500005];int v[500005];int main(){ int n,k; long long ans; while(~scanf("%d%d",&n,&k)){ for(int i...原创 2018-03-27 13:47:56 · 106 阅读 · 0 评论 -
蓝桥杯中的暴力破解 ing
题目1:U型数字题概:所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增。比如 212 就是一个U型数字,但是 333, 98, 567 31313,就是不是U型数字。请问[1,100000] 有多少U型数字?直接暴力枚举#include<cstdio>using namespace std;int main(){ for(int i=100;i<10000...原创 2018-03-17 09:59:05 · 1398 阅读 · 0 评论 -
C++主流函数介绍(持续更新)
一、sort()函数·包含在头文件为#include<algorithm>的C++标准库中·时间复杂度为n*log2(n)·使用模板:sort(要排序数组的起始地址,结束地址,排序方法(若省略,默认为从小到大))·若要实现从大到小,需要加入一个比较函数complare(),函数实现过程如下·对数组s的第1~n个数排序,sort(s+1,s+n+1)bool complare(int a...原创 2018-03-14 18:43:16 · 196 阅读 · 0 评论 -
Fibonacci(斐波纳契)数列 入门递归,算法优化(记忆化搜索),迭代法
题目链接点击打开链接#include<cstdio>using namespace std;/*方法一*/ //int fib(int n){//入门递归,时间复杂度O(2^n) // if(a<=2) return 1;// else return fib(n-1)+fib(n-2);//}/*方法二*/ //#define MAXN 1000000//#...原创 2018-03-15 17:04:01 · 708 阅读 · 1 评论 -
十六进制转八进制
题目链接点击打开链接当十六进制位数少时,直接用输入输出格式操作:#include<cstdio>using namespace std;int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ int t; scanf("%x",&t); printf("%o\n",t); } r...原创 2018-03-15 23:04:14 · 158 阅读 · 0 评论 -
模拟二进制运算
此为五位二进制运算的模拟#include<cstdio>using namespace std;int s[5]={0};int main(){ printf("00000\n"); for(int i=2;i<=32;i++){ for(int j=4;j>=0;j--){ if(s[j]==0) { s[j]=1; break; }...原创 2018-03-16 10:30:16 · 724 阅读 · 0 评论