03 2019 档案
摘要:题目:给出n个点的树 q次询问 问切断 k个点(不和1号点联通)的最小代价是多少 思路:树形dp sum[i]表示切断i的子树中需要切断的点的最小代价是多少 mi[i]表示1--i中的最小边权 sum[i]=min(mi[i],sigma(min(mi[v],sum[v]) (v∈i.son)) 从
阅读全文
摘要:A. Best Subsegment 题意 找 连续区间的平均值 满足最大情况下的最长长度 思路:就是看有几个连续的最大值 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn= 1e5+4; 4 int a[maxn];
阅读全文
摘要:A. Nastya Is Reading a Book 题意:书分为n个章节 给出连续的章节页码 给出当前页数 问有多少章没有看完 思路 :直接模拟即可 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=100+5;
阅读全文
摘要:A. Detective Book 题意:一个人读书 给出每一章埋的坑在第几页可以填完 。 一个人一天如果不填完坑他就会一直看 问几天能把这本书看完 思路:模拟一下 取一下过程中最大的坑的页数 如果最大页数等于当前页数 day++即可 1 #include<bits/stdc++.h> 2 usin
阅读全文
摘要:题意 给定一串数字 相同的连续的数字可以同时 转换成一个相同数字 问最小几次可以全部转换成一个相同的数字 法1:区间dp dp[l][r][0/1] 0表示l r区间转化成和最左边相同需要多少次 1表示转化成和最右边相同 区间dp即可 1 #include<bits/stdc++.h> 2 #def
阅读全文
摘要:A. Technogoblet of Fire 题意:n个人分别属于m个不同的学校 每个学校的最强者能够选中 黑客要使 k个他选中的可以稳被选 所以就为这k个人伪造学校 问最小需要伪造多少个 思路:记录每个学校都有哪些人 每次看黑客选中的人是不是在学校是最强者(这里要处理能力一样的情况,如果有能力一
阅读全文
摘要:A. Regular Bracket Sequence 题意:给出四种括号的数量 (( )) () )( 问是否可以组成合法的序列(只能排序不能插在另外一个的中间) 思路: 条件一:一个或 n个)( 都可以组成 )()()( 这种结构 这只需要 一个((和一个))就可以合成合法的序列 条件二: ((
阅读全文
摘要:#include<bits/stdc++.h>#define FOR(i,f_start,f_end) for(int i=f_start;i<=f_end;i++)#define MS(arr,arr_value) memset(arr,arr_value,sizeof(arr)) #define
阅读全文
摘要:1 #include 2 #include 3 #define FOR(i,f_start,f_end) for(int i=f_startl;i0&&dep[v]==-1){ 44 dep[v]=dep[u]+1; 45 que[rear++]=v; 46 if(rear>=max...
阅读全文
摘要:A. Middle of the Contest 题意:给出起始和结束时间找出中间时间 而且都是偶数 思路:全部转成分钟加起来然后除2再转成时间即可 B. Preparation for International Women's Day 题意:给出一组数组和一个k 问两两组合 可以最多组成多少个k
阅读全文
摘要:A. Sushi for Two 题意:给出 只有1 和2 组成的数组 求最大形如xxxyyy的长度 思路:直接扫一边 1 和2 分界的时候记一下分界之前的那个 1或2的连续长度即可 B. Circus 题意:每个人可能有两种属性 1表示有0表示没有 则一个人有四种情况 11 10 01 00 让分
阅读全文
摘要:reference :https://www.cnblogs.com/ZERO-/p/10426473.html
阅读全文
摘要:参照:https://blog.csdn.net/sodawaterer/article/details/61918370
阅读全文