摘要: D. Divide and Summarize 题意 给你n个数,q次询问,问你能否具有满足和为s的序列。 思路 再求其有多少种和时需要使用$mid = max + min >> 1$来寻找有多少种和。 然后dfs,但是需要判断一下左面或者右面全部相等情况,否则会爆栈 #include<bits/s 阅读全文
posted @ 2021-01-18 23:20 waryan 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一个长度为n的乱序数组,再给你m次操作每次操作包含r和p分别表示可以按升序排序前r位且使用这个的概率为p,问你这些任意用后能够使数组变为升序的概率为多少(每次使用操作都是对原数组进行操作) 思路 反向思考,然后1减去不能变为的即可。 为了能够让一个操作使原数组变得有序那么必须让r大于原数组 阅读全文
posted @ 2021-01-18 23:14 waryan 阅读(37) 评论(0) 推荐(0) 编辑
摘要: B. Find the Spruce 题意 给你一个n行m列由*或者.组成的图形,一个图形高度为k时当且仅当满足$1 \leq i \leq k$时,第$x + i - 1$行必须满足在区间$[y - i + 1, y +i-1]$全部都是'*' 思路 暴力解决方法 我们暴力判断当前行是否满足,如果 阅读全文
posted @ 2021-01-18 21:34 waryan 阅读(47) 评论(0) 推荐(0) 编辑
摘要: D. Ceil Divisions 题意 给你n个数,每次可以这样操作$(x\not\equiv y,a_x = \lceil{a_y/a_x}\rceil)$,问你最多操作n+5次使最后变为一个2和n-1个1 思路 首先考虑时间复杂度$3 \leq \sum n \leq 2*10^5$我们发现必 阅读全文
posted @ 2021-01-18 21:18 waryan 阅读(52) 评论(0) 推荐(0) 编辑
摘要: C. Building a Fence 题意 给你n个基础高度和一个栅栏的长度k,如果建造这整个栅栏的过程可以满足所有规则,那么输出yes 规则是: 两个连续的相邻栅栏之间必须有长度为1的接触 第一个和最后一个栅栏必须和地接触 需要注意的是除了第一个和最后一个其他的栅栏也均不能超过地的高度大于$k- 阅读全文
posted @ 2021-01-18 20:55 waryan 阅读(68) 评论(0) 推荐(0) 编辑
摘要: G. Moving to the Capital 题意 给你n个点m条长度为1的单向边,其中顶点1为中心城市,然后d[i]表示$1->i$的距离。 要求:有一次特殊操作可以从$d[i] > d[j], i → j$,其他的都只能$d[i] < d[j], i →j$。问你各个顶点在符合要求的条件下移 阅读全文
posted @ 2021-01-18 20:30 waryan 阅读(67) 评论(0) 推荐(0) 编辑