08 2024 档案
摘要:1.法阵 转化题意,就是每一行有一段连续的东西,每一列有一段连续的空格,求方案数。手模一下,整个图大概是长这个样子 由于它是一个向内凹进去的形状,所以它一定有一个转折点,我们可以去枚举这个转折点的位置求方案数,例如 \(A\) 点 其左边区域的方案数我们以水平线分上下两部分求,因为是方格,所以我们可
阅读全文
摘要:A. 符号化方法初探 看最大数和最小数的绝对值大小,用至多 \(n-1\) 次让其符号相同,是正数就加前一个数,是负数就倒着加后一个数,最多 \(n-2\) 次。 点击查看代码 #include<bits/stdc++.h> const int maxn=2e5+10; using namespac
阅读全文
摘要:A. 数字三角形 没看到排列,对着自己造的错样例改半天。填数,由上往下都向左下填,可以保证有解 点击查看代码 #include<bits/stdc++.h> const int maxn=550; using namespace std; int a[maxn][maxn],n,flag,cnt,m
阅读全文
摘要:咱就是说你直接写 \(1-n\) 的排列不好吗。。。 真破大防了,一开始对了然后造了一组无解数据 1,1,3,5 我甚至还在找题目有没有写保证有解或无解输出-1之类的。。然后越改越假 以后建议多看看题目
阅读全文
摘要:好像还有好多没写的 A. Mortis 赛时思路是正解,但有一个判断想了但出锅了。。。 \(n\) 个数的序列 \(n-1\) 次肯定能换完,一次操作最多贡献 2,找出贡献2的操作个数减去即可 有一次操作匹配两个,两次操作匹配三个,三个操作匹配四个,三种情况,记个数都跑一遍即可 点击查看代码 #in
阅读全文
摘要:\(cdq\) 分治是一种离线分治算法,可以将动态问题改变为静态问题,不适用于强制在线。其实现时通常将需要进行的操作存进一个 结构体,然后对这些操作进行分治。 打 \(cdq\) 分治时一个直观的感受就是很好想思路,但就是不知道怎么打。。。 它一共有三个需要干的 1 找到范围中点 \(mid\) ,
阅读全文
摘要:根据题目显然单个字符不能作为整串的答案 但我太唐没读题,都判了下1,挂了38pts
阅读全文
摘要:序(感谢9G对本博客证明的大力支持) 前置知识 1:排列组合 2:多步容斥 \[\dbinom{n}{m}=\binom{n}{n-m}=\mathrm{C}_n^m=\mathrm{C}_n^{n-m} \]\[\dbinom{n}{m}*\binom{m}{s}=\dbinom{n}{s}*\b
阅读全文