10 2021 档案

摘要:这是一道div2B,按说很简单,但我没有想出来。确实需要一些思维。 题意:给定 \(a[1...n],k\),每次可以交换 \(|i-j|>=k\) 的 \(a_i,a_j\),问能否经过有限次操作使 \(a\) 不降。 建图,两个点能够自由交换当且仅当他们之间有边,那么 \(n=5\) 时建立如下 阅读全文
posted @ 2021-10-31 22:03 pengyule
该文被密码保护。
posted @ 2021-10-26 13:56 pengyule
摘要:思维题。需要弄清 冒泡排序的本质 每一轮冒泡排序对逆序对的影响 冒泡排序的本质是将一个数放到他的“后面第一个大于”之前,并把它俩之间的数向左平移一位。 这个数能够向右征服的充要条件是左边没有比它大的数。原因是,一旦有,他就成了被征服的,手无缚鸡之力。 因此,每一轮冒泡排序会使每一个数值上的逆序对 $ 阅读全文
posted @ 2021-10-23 10:56 pengyule
摘要:Censoring S/G 算法标签:字符串(KMP/AC自动机) 算法概述:这两道题其实就是一道题,无非把单模匹配变成多模匹配而已。讲讲核心思想。这题其实就是一个脑筋急转弯,谁想到了谁就A了。我们一般求KMP都是求完整个f数组,并且是对一个始终固定的文本串算f,但其实完全可以对一个栈求f数组!考虑 阅读全文
posted @ 2021-10-22 23:12 pengyule
摘要:isspace([char]),返回字符是否是 '' ''\n''\nr'等空格、换行类字符,避免了枚举 cin.peek(),返回输入流的下一个字符,但不跳过它 getline(cin,str),读取整行 fgets(字符数组s,要读取的字符串的最大长度,stdin)(注:换行符会被读取并存入s) 阅读全文
posted @ 2021-10-22 22:17 pengyule
摘要:CSP前夕 模拟赛 由于没有发很强的大样例,加上出现的一些令人匪夷所思的问题,做的不好 然而B,C两题我是会做的 总结错因: C:大样例没有发现我的问题,但程序背包那一行的循环有点问题,居然还有50分,可见数据较弱 B:本机下评测完全可过,赛后经过一番审查发现问题出在getline(cin,str) 阅读全文
posted @ 2021-10-22 21:33 pengyule
摘要:link STRATEGY: 求关于区间的不重复元素数的基本思路:用线段树维护 F(i,r) 那么这一提就很简单了。把原题中的式子看成对于每一个枚举的右端点r,$\sum_{i\le r}f(i,r)$造一棵线段树,维护一个数组$g[i\in [1,n]]$ 表示i到当前右端点r的f(i,r)。考虑 阅读全文
posted @ 2021-10-19 13:47 pengyule
摘要:我认真地打了本场 CF,将力所能及的题目进行了订正。下面是所有做出的题目的题解。 Contest link D2A 求有多少个长为 \(2n\) 的排列 \(p\) 满足 满足 \(p_i<p_{i+1}(1\le i<2n)\) 的 \(i\) 的个数 \(\ge n\) 极易发现排列的对称性,即 阅读全文
posted @ 2021-10-04 19:31 pengyule
摘要:\(n\) 堆石子排成一排,初始时每队1个。甲乙双方均可进行操作,操作方式为选取任意两堆石子合并为一堆,但需要满足新堆石子数 \(\le m\),否则无法进行操作。不能操作的一方失败,问先手是否必胜。必胜输出0,必败输出1。 结论1 设操作总次数为 \(k\),则 \(k\) 是奇数先手必胜,反之先 阅读全文
posted @ 2021-10-01 23:09 pengyule