随笔分类 -  二分答案

摘要:本思路仅供参考,数据强一点应该该会被卡。 本蒟蒻没有打 $link$ $cut$ $tree$ . 而是用暴力水了过去。 具体思路很简单,先二分最少的 $a_i$ , 再在 $judge$ 的时候再二分 $b_i$. 然后使用并查集来判断是否联通,复杂度 $n(logn)^3$ 但是第一遍只有 $7 阅读全文
posted @ 2019-11-06 22:36 Kevin_naticl 阅读(272) 评论(0) 推荐(0)
摘要:Code cpp include define N 2000008 using namespace std; struct sj{ int to,next; }a[N 2]; int size,head[N],n,k; void in(int &x) { char ch=getchar();int 阅读全文
posted @ 2019-07-25 16:43 Kevin_naticl 阅读(229) 评论(0) 推荐(0)
摘要:"题目链接" Solution 去掉中间一段区间 $[l,r]$ 后剩下的平均值可以表示为 : $$\frac{\sum^{n}_{i=1}{v_i} \sum^{r}_{i=l}{v_i}}{n (r l+1)}$$ 二分的答案如果要满足条件,即: $$\frac{\sum^{n}_{i=1}{v 阅读全文
posted @ 2019-07-18 20:20 Kevin_naticl 阅读(242) 评论(0) 推荐(0)
摘要:"题目链接" Solution 先直接二分答案,然后贪心判断,一旦少于答案就吃一块。 思路很简单,有一点细节。 一天内可以不吃巧克力. 注意处理最后时没吃完的全部在最后一天吃完. Code 阅读全文
posted @ 2019-07-18 20:09 Kevin_naticl 阅读(329) 评论(0) 推荐(0)
摘要:"题目链接" Solution 转化一下,就是个单调队列. 可以发现就是一段区间 $[L,R]$ 使得其高度的极差不小于 $d$ ,同时满足 $R L$ 最小. 然后可以考虑二分然后再 $O(n)$ 判断, 时间复杂度 $O(nlogn)$ . Code 阅读全文
posted @ 2018-09-26 11:01 Kevin_naticl 阅读(270) 评论(0) 推荐(0)
摘要:"题目链接" Solution 二分答案+并查集. 由于考虑到是要求花费的最小值,直接考虑到二分. 然后对于每一个二分出来的答案,模拟 $Kruskal$ 的过程再做一遍连边. 同时用并查集维护联通块信息. 最后看连的边数以及$1$边是否满足要求即可. Code cpp include using 阅读全文
posted @ 2018-08-18 18:06 Kevin_naticl 阅读(208) 评论(0) 推荐(0)
摘要:Description 你有n种牌,第i种牌的数目为ci。另外有一种特殊的牌:joker,它的数目是m。你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1套牌。比如,当n=3时,一共有4种合法的套牌:{1,2,3}, {J,2,3}, {1,J,3}, { 阅读全文
posted @ 2018-07-17 16:01 Kevin_naticl 阅读(396) 评论(0) 推荐(0)