随笔分类 -  提高难度(超过智力的部分)

摘要:```C++#include #include #include using namespace std;const int maxn=99999;struct p{ int l,r;string s;}a[maxn];int dp[1>t; while(t--) { cin>>n; for(int i=1;i>a[i].s>>a[i].l>>a[i].r; memset(pre,0,siz... 阅读全文
posted @ 2020-03-28 18:51 倾叶子佮 阅读(91) 评论(0) 推荐(0)
摘要:描述: 多组输入n,接下来n行每行三个数,分别表示一个长方体的长宽高。每种长方体有无数个。 一个长方体可以搭在另一个长方体的前提条件是(可以是两个完全相同的长方体但是放的姿势不同) 该上面的长方体的长宽分别比下面那个长方体的长宽都短 要求堆的最高。 Ⅰ.简化题意和预处理 长方形每个面都可以作为底面, 阅读全文
posted @ 2020-03-28 14:50 倾叶子佮 阅读(151) 评论(0) 推荐(0)
摘要:"题目传送门" 算法:树型DP 定义$dp[i][j]$ 表示在节点 i ,获得大小为 j 的子树所需要删除的边的个数。 那我们先$dfs$一遍,把每棵子树的节点数求出来,那么$dp[i][1]$就是$i$的儿子数 转移方程为: $dp[i][j]=max(dp[i][j],dp[i][j k]+d 阅读全文
posted @ 2020-03-27 13:49 倾叶子佮 阅读(115) 评论(0) 推荐(0)
摘要:"题目传送门" 描述: $给你一个有向图,其中某些点是可以买的,如果你买了一个点,$ $你可以到达这个点指向的点,指向的这个点又能到它指向的点......(直到走不通),我们要选择一些点买,使图联通且代价最小!$ 算法 :tarjan缩点 思考过程 选择哪一些点,能使图联通且代价最小呢? 我们试着想 阅读全文
posted @ 2020-03-27 10:47 倾叶子佮 阅读(122) 评论(0) 推荐(0)
摘要:描述: $给一个长度为 n 的数列,我们需要找出该数列的一个子串,使得子串平均数最大化,并且子串长度 ≥m。$ 题目传送门: "平均数" 题目算法:二分+DP+思维 分割线 又是束手无策的一道题目,理解起来也很反人类.......以下见解摘自 "这位dalao" Ⅰ.如何进行二分 二分最大平均值,然 阅读全文
posted @ 2020-03-27 09:11 倾叶子佮 阅读(150) 评论(0) 推荐(0)