
题目方法证明
文章平均质量分 64
IDSY QAQ
日常三问:我被机残了吗?我密码被盗了吗?我的号还在吗?
展开
-
子区间极差最小值为相邻两元素之差的最小值
假设不是相邻两元素之差的最小值假设最优区间 ([l,r][l,r][l,r],区间内没有重复的cxc_xcx,cyc_ycy) 的极差的下标为 x,yx, yx,y (xxx 为最小值的下标,yyy 为最大值的下标 (∣x−y∣≠1)(|x - y| \neq 1)(∣x−y∣=1))不妨设 x<yx < yx<y⇒∀i∈(x,y),cx<ci<cy\Rightarrow \forall i \in (x, y),c_x <c_i < c_y⇒∀i∈(原创 2021-09-16 21:17:17 · 325 阅读 · 0 评论 -
干草堆题解
一.前言我翻阅了许多blog,都没有讲清楚为什么最底层的宽度最小,高度最高,我决定尝试解释一下,由于本人井中视星,只能大致讲讲证明思路二.证明我们很难从正面去直接解释高度最值的条件,但我们不妨可以使用周老师的 “正难则反” 和柯老师的 “better than anyone”。假设当最底层的宽度为f[i]f[i]f[i]时干草堆最高,如图只需证明最底层宽度变大只会使高度降低而不是升高由于干草堆只能选择连续一段作为同一层,所以如果使底层变宽而又不新添干草堆的方法只能是从上层取出干草堆放入最底层原创 2021-02-09 11:32:18 · 424 阅读 · 0 评论 -
Simplified Reversi (非线段树法,图解)————真的抽象
1.前言这道题不用线段树是真的抽象。。。2.题解我们只分析在列上放棋子0.变量以右下角为(1,1)Min1Min1Min1 :最大的修改行上的xxxMin2Min2Min2 :最大的修改列上的xxxMinl[i]Minl[i]Minl[i] :第iii列的最大的修改行的xMinr[i]Minr[i]Minr[i] :第iii行的最大的修改列的x1. 若 x∈[1,Min1]x \in [1, Min1]x∈[1,Min1]如图则粉色那条线的MinlMinlMinl值不会再被更新所原创 2021-01-15 22:09:11 · 175 阅读 · 0 评论 -
NIM博弈证明
一:结论若a1 xor a2 xor a3 ... xor an≠0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n \neq 0a1 xor a2 xor a3 ... xor an=0 则先手(RRR)赢否则 先手(RRR)输二:证明 (数学归纳法)(1):定义(1): 定义(1):定义令tem=原创 2020-12-29 19:23:46 · 211 阅读 · 0 评论 -
亚特兰蒂斯中的Push_Up分析
1.定义当前节点为p,Ta的父节点为fal表示矩阵的左上角的y集合r表示矩阵的右下角的y集合tr[p].cnttr[p].cnttr[p].cnt 表示 li<=tr[p].l,tr[p].r<=ri,tr[fa].l<=li或者tr[fa].r>rili <= tr[p].l, tr[p].r <= ri, tr[fa].l <=li 或者 tr[fa].r > rili<=tr[p].l,tr[p].r<=ri,tr[fa].l<原创 2020-12-12 20:38:14 · 355 阅读 · 0 评论 -
补丁数组证明
前言补丁数组的证明比最多能完成排序的块要好讲多了(/ω\)实现上代码#include <cstdio>#include <algorithm>using namespace std; const int MAXN = 1e5 + 5;int l, n;int a[MAXN];int main() { scanf("%d %d", &l, &n); for(int i = 1; i <= l; i++) scanf("%d", &原创 2020-06-30 22:46:21 · 209 阅读 · 1 评论 -
最多能完成排序的块证明
题目今天中午我表达自己的想法时, 好像 没讲清楚,现在补充一下吧实现先重新叙述一遍郭老师的方法(拿样例举例)样例52 1 3 4 41.将数组排序1 2 3 4 42.标记出每个数排好序后的下标原值2 1 3 4 4下标2 1 3 4 43.i从1~n枚举,_max = max(a[j])(1 <= j <= i),当_max == i时,就可以多划分一个块证明记排好序后的数组为b记a[i]对应的b数组中的数为b[j](即a[i] == b[j])则为了让原创 2020-06-30 22:22:01 · 163 阅读 · 0 评论 -
康拓展开蒟蒻解释
前言:本人是一只正统蒟蒻,不像大佬写的blog十分精炼,清晰,勿喷。今天有一道很有意思的题:康托展开这道题感觉有点偏数学,dfs只能得80分,有同学询问GM,得到了这样的答案厚颜无耻(说的我)于是我想出了一个稀奇古怪的解法,然后AC了(掌声鼓励),再查了查度娘,发现我的想法是对的,也理解的更加深刻了,现在,我将我的想法写成blog,希望大佬们可以帮我补充orz题目描述给出一个数N,再给出N的全排列的某一个排列,问该排列在全排列中的次序是多少:例如3的全排列中,123排第一位,321排最后原创 2020-05-27 22:22:39 · 264 阅读 · 0 评论 -
扑克牌证明
题目能想到的奆佬真是太可怕了,我知道做法后去推原理都花费了好久。证明过程欲证:若∑a[i] <= n, 则这些牌都能取到因为∑a[i] <= n, 则必有两张牌i,j(i < j),满足i - j < a[i](抽屉原理易证)则需欲证∑a[i] - a[z] (剔除的那张牌) <= n - a[z](要“扔”掉a[z]张牌) 则这些牌都能取到。…当剔除到仅剩一张牌时,是成立的(a[k] <= n - ∑a[i] + a[k]),倒推回去,即证...原创 2020-06-03 22:19:57 · 844 阅读 · 0 评论