BZOJ
strategist_614
这个作者很懒,什么都没留下…
展开
-
BZOJ2465
BZOJ 2465题目BZOJ2465分析贪心将小球的分数从大到小排序将瓶子容积从小到大排序将球放入瓶子中时遵循尽量找到比小球分数大的瓶子中容积最小的。代码const int N = 205;int a[N];struct node{ int c; int q;} b[N];bool cmp(int a, int b){ return a > ...原创 2020-01-26 13:33:52 · 183 阅读 · 0 评论 -
BZOJ选(大佬的
普及 2659 数学 1968 整除分块 2761 去重 3767 高精度A+B 1432 找规律(神题) 3098 随机卡HASH 1800 统计 1218 枚举 4001 生成函数 + 卡特兰数 2760 字符串处理 1088 DP/判断 1034 贪心 1207 DP 2748 DP 4302 分类讨论 1083 最小生成树 2563 转换后排序 3...原创 2019-07-27 01:06:47 · 133 阅读 · 0 评论 -
BZOJ1059
BZOJ1059题目BZOJ1059分析考虑二分图。。参考黄学长思路:同行同列的点无论经过多少次变换仍然是同行或同列,所以题目可转换为能不能找到 nnn 个互相不同行或同列的 111 点。只交换列,不用管行:如果每一行都有列来获得 111,则交换行不影响列中 111 的数量具体做法:当 a[i][j]=1a[i][j] = 1a[i][j]=1 即:这个点是黑色的时候, i,...原创 2019-07-31 23:25:20 · 184 阅读 · 0 评论 -
BZOJ1036
BZOJ1036题目BZOJ1036分析裸的树链剖分。。线段树:单点更新,区间查询即可。。不会的可以看之前的博客。。代码const int N = 1e5 + 5;int head[N], ver[N << 1], Next[N << 1];int size[N], d[N], son[N], fa[N], cnt, top[N], rk[N]...原创 2019-08-05 16:20:36 · 132 阅读 · 0 评论 -
BZOJ3155
BZOJ3155题目BZOJ3155分析要求的 SnS_nSn :Sn=∑i=1n∑j=1iajSn=∑i=1n(n−i+1)ai容斥一下:Sn=(n+1)∑i=1nai−∑i=1ni×ai\begin{aligned}&S_n = \sum_{i = 1}^{n}\sum_{j = 1}^{i}a_j \\&S_n = \sum_{i =...原创 2019-08-07 23:11:13 · 148 阅读 · 0 评论 -
BZOJ1258
BZOJ1258题目BZOJ1258分析真 —— 规律题首先题目中样例解释有误:T12T12T12 靠 T14T14T14 和 T4T4T4 。经过找规律可知:当读入是 T......4T......4T......4 时: 答案显然是:T.......1T.......2T.......3T.......1 \quad T.......2\quad T.......3T......原创 2019-07-27 22:56:17 · 154 阅读 · 0 评论 -
BZOJ1028
BZOJ1028题目BZOJ1028分析nnn 的范围较小,可以暴力枚举。。第一层循环枚举缺的那个和牌的数字,判断加上那个数字能否和牌。第二层循环枚举对子牌,判断是否有个数大于等于 222 的数字当对子牌。若可以,判断能否组成顺子能刻子,先考虑刻子,原因是顺子牌构成需要其他牌的辅助,而其他的牌不一定存在,所以优先自己解决,这样更容易和牌。第三层循环判断顺子、刻子。时间复...原创 2019-07-28 17:58:17 · 170 阅读 · 0 评论 -
BZOJ5293
BZOJ 5293题目BZOJ5293分析考虑 lcalcalca 。。注意到 kkk 的范围只有 505050 这提示我们再询问之前预处理所有的 kkk 下的前缀和,在询问中统计即可。注意取模。代码const int SIZE = 300010;const int mod = 998244353;ll f[SIZE][20], d[SIZE], dist[SIZE]...原创 2019-08-01 21:54:55 · 179 阅读 · 0 评论 -
BZOJ1407
BZOJ1407题目BZOJ1407分析考虑位置移动后相等的情况。。ci+xpi≡cj+xpj(modn)c_i + xp_i \equiv c_j + xp_j \pmod nci+xpi≡cj+xpj(modn) nnn 为山洞数x(pi−pj)≡cj−ci(modn)x(p_i - p_j) \equiv c_j - c_i \pmod nx(pi−pj)≡c...原创 2019-08-07 16:34:49 · 165 阅读 · 0 评论 -
BZOJ1103
BZOJ 1103题目BZOJ1103分析考虑树链剖分本题考虑边的个数,而不是点的个数。但是可以考虑用点权代替边权,nnn 个点会有 n−1n - 1n−1 条边,所以在操作时只考虑 n−1n - 1n−1 个点即可。代码const int N = 250005;int head[N], ver[N], Next[N];int d[N], son[N], fa[N],...原创 2019-08-07 21:06:38 · 192 阅读 · 0 评论 -
BZOJ2565
BZOJ2565题目BZOJ2565分析前置知识: manachermanachermanacher要知道 manachermanachermanacher 的性质:插完无关字符后得到的回文路径数组 hw[i]hw[i]hw[i] ,可以通过这个数组得到原字符串当前位置下的最长回文路径即:hw[i]−1hw[i] - 1hw[i]−1。这个可以自己模拟模拟假设 manacher...原创 2019-08-12 23:49:30 · 169 阅读 · 0 评论 -
BZOJ1800
BZOJ1800题目BZOJ1800分析采用断环成链的处理方式,枚举链的起点,再枚举三个断点 i,j,ki,j,ki,j,k ,满足 sum[i]−sum[s−1]==sum[k]−sum[j]&&s[j]−sum[i]==sum[s+n−1]−sum[k]sum[i] - sum[s - 1] == sum[k] - sum[j] \&a...原创 2019-07-26 13:01:55 · 134 阅读 · 0 评论 -
BZOJ3631
BZOJ 3631题目BZOJ3631分析考虑 LCALCALCA + 差分主要算法不讲了。。现在考虑一下细节:a1→a2,a2→a3,...an−1→ana_1 \rightarrow a_2,a_2 \rightarrow a_3,...a_{n-1} \rightarrow a_{n}a1→a2,a2→a3,...an−1→an 标记点时在 a1→a2,a2→...原创 2019-08-03 14:35:40 · 180 阅读 · 0 评论 -
BZOJ3288
BZOJ 3288题目BZOJ3288分析题目比较神奇,首先要知道求矩阵行列式的值是可以进行行列式变换,变换成阶梯矩阵,则最后的答案是∣A∣=∏i=1naii|A| = \prod_{i = 1}^{n}a_{ii}∣A∣=∏i=1naii我们计算 n=1∼10n = 1 \sim 10n=1∼10 的行列式的值。(运用行列式变换的方法)可以得到对角上的 $a_{ii} ...原创 2019-07-14 13:36:37 · 133 阅读 · 0 评论 -
BZOJ2462
BZOJ 2462 (二维hash学习)二维hash创建两个种子 base1,base2base1,base2base1,base2 创建一个 无符号 646464 位数组 hashahashahasha先对每一行做前缀 hashhashhash 值for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) ...原创 2019-07-15 12:24:31 · 108 阅读 · 0 评论 -
BZOJ2761
BZOJ 2761题目BZOJ2761分析用 mapmapmap 标记第一次出现,之后再出现就不输出就可以了hashhashhash 表的方法一直 RERERE 洛谷能够通过,可能洛谷数据水吧。。。有时间研究一下。。。记录一下 hashhashhash 质数表61, 83, 113, 151, 211, 281...原创 2019-07-15 12:26:13 · 136 阅读 · 0 评论 -
BZOJ2563
BZOJ 2563题目BZOJ2563分析贪心一般这种问题的贪心都是对等效权值进行贪心构造。所以可以将边权等效到两个连接的点构成点权。又因为在同一选择集合中的两个点 a,ba,ba,b 如果有边相连的情况,那么在计算 a,ba,ba,b 的点权时边权只用计算一次,所以化边权为点权时除以了 222 。不在一个选择集合的两个点的边权值会通过相减抵消,不用计算。代码const ...原创 2019-07-16 21:10:27 · 123 阅读 · 0 评论 -
BZOJ1197
BZOJ 1197题目BZOJ1197分析考虑 DPDPDPf[i][j]f[i][j]f[i][j] 表示 前 iii 维空间划分 jjj 部分最多可以分出多少空间可以找找规律:一维是:2,4,6,8,10...2,4,6,8,10...2,4,6,8,10...二维是: 2,4,8,14,22...2,4,8,14,22...2,4,8,14,22...找规律可以发...原创 2019-07-23 22:57:00 · 134 阅读 · 0 评论 -
BZOJ1034
BZOJ1034题目BZOJ1034分析比较神的贪心分三种情况:我方最弱的比对方最弱的强,稳拿两分我方最强的比对方最强的强,稳拿两分我方最弱的和对方最强的同一个实力,拿一分最后实在不行让最弱的去送对方最强的人头代码const int N = 1e5 + 5;int a[N];int b[N];int n;int solve(int a[], int b...原创 2019-07-19 17:56:28 · 145 阅读 · 0 评论 -
BZOJ2748
BZOJ2748题目BZOJ2748分析考虑 DPDPDPf[i][j]f[i][j]f[i][j] 表示音量为 jjj 可以由前 iii 次增加或减少构成f[i][j]=1(f[i−1][j+a[i]]=1∣∣f[i−1][j−a[i]]=1)f[i][j] = 1 \qquad (f[i - 1][j + a[i]] = 1 || f[i - 1][j - a[i]] ...原创 2019-07-19 20:41:04 · 159 阅读 · 0 评论 -
BZOJ1191
BZOJ1191题目BZOJ1191分析由题意可知,可以从二分图考虑建模。以题目为左部顶点,锦囊为右部顶点。根据题目要求题目和锦囊连边即可。注意当当前点没有增广路时,跳出循环。代码const int N = 1005;const int M = 1e6 + 5;int n, m, tot;int head[N], Next[M], ver[M], visit[N];...原创 2019-07-29 16:49:19 · 91 阅读 · 0 评论 -
BZOJ1816
BZOJ1816题目BZOJ1816分析考虑二分。。发现若二分最多组成套牌数目,[1,r][1,r][1,r] 可以组成,[1,r−1][1,r - 1][1,r−1] 也必然可以组成,显然满足单调性。二分套牌数目,因为要组成 midmidmid 数目的套牌,所以 a[i]a[i]a[i] 的数目都不可能比 midmidmid 小,如果比 midmidmid 小那么就要使用 j...原创 2019-08-02 15:21:50 · 154 阅读 · 0 评论 -
BZOJ1485
BZOJ1485题目BZOJ1485分析可以找规律发现是 CatlanCatlanCatlan 数列。。还是证明一下:性质2:a1<a3<..<a2i−1a_1 < a_3 < ..<a_{2i-1}a1<a3<..<a2i−1 , a2<a4<...原创 2019-08-02 23:10:45 · 179 阅读 · 0 评论 -
BZOJ2156
BZOJ 2156题目BZOJ2156分析题目题面有点问题:样例应该是3 30 1 11 2 20 2 130123 \,3 \\0 \,1 \,1\\1 \,2 \,2\\0 ...原创 2019-08-03 13:31:19 · 127 阅读 · 0 评论 -
BZOJ1607
BZOJ 1607题目BZOJ1607分析本题可以暴力的去找每个数的因子,看一下它的因子在序列的出现的次数,再做统计。时间复杂度:O(n×m)O(n \times \sqrt{m})O(n×m) 洛谷上 ACACAC BZOJBZOJBZOJ 老爷机上就 TLETLETLE 了。变换思路:类似埃氏筛的方法,统计数的倍数出现的次数。注意:去除自己本身的答案。代码 ...原创 2019-07-13 21:09:56 · 138 阅读 · 0 评论