上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 简单手摸后发现,答案就是这么一个式子: \( (3^{n-1}-3^{n-2})a_1+(3^{n-2}-3^{n-3})a_1a_2+\dots+(3^1-3^0)a_1a_2\dots a_{n-1}+a_1a_2\dots a_n \) 啊当然证明也是好证的,对于 \(a_1\) 这一项,它后 阅读全文
posted @ 2025-01-21 14:48 zhangxy__hp 阅读(17) 评论(0) 推荐(0)
摘要: A. 「SDOI2014」旅行 给每个宗教开一棵线段树,树剖 \(+\) 线段树单点修改区间查询即可。需要动态开点。 Code #include<bits/stdc++.h> #define ll long long #define il inline #define read(x){\ char 阅读全文
posted @ 2025-01-19 11:17 zhangxy__hp 阅读(50) 评论(0) 推荐(0)
摘要: A. 「NOIP2009」靶形数独 暴搜。 本着搜索必剪枝的思想,略微做一点优化:优先搜索 \(0\) 少的行。 然后就搜就行。 Code #include<bits/stdc++.h> #define ll long long #define il inline using namespace s 阅读全文
posted @ 2025-01-17 19:48 zhangxy__hp 阅读(49) 评论(0) 推荐(0)
摘要: A. Arpa's weak amphitheater and Mehrdad's valuable Hoses 用并查集将每个朋友圈找出,然后 DP。 设 \(dp_{i,j}\) 表示前 \(i\) 个朋友圈,重量为 \(j\) 的最大美丽度。转移分为从这个朋友圈中选一个转移、用这个朋友圈的和转 阅读全文
posted @ 2025-01-15 18:00 zhangxy__hp 阅读(38) 评论(0) 推荐(0)
摘要: 前言 本来早就该学笛卡尔树了,但暑假打模拟赛就一直没学成。于是就打算先不学了,结果又发现后面有个笛卡尔树专题,只好来学学。 定义 笛卡尔树是一棵二叉树,每个点有一个键和一个值,键满足堆的性质,值满足二叉搜索树的性质。没错当键随机时,这就是个 Treap。 建树 如果值单调递增,那么就可以线性建树。具 阅读全文
posted @ 2025-01-05 22:00 zhangxy__hp 阅读(92) 评论(0) 推荐(1)
摘要: 记 \(f(x)\) 为最小的大于 \(x\) 的 \(y\),使得 \(x\) 是 \(y\) 的子串。易得: \[f(x)=\min(10x,x+10^{|x|}) \]其中 \(|x|\) 表示 \(x\) 的位数。 可以发现,\(f(x)\) 为一个严格单调递增的函数。 考虑贪心策略,显然选 阅读全文
posted @ 2025-01-04 11:11 zhangxy__hp 阅读(49) 评论(0) 推荐(0)
摘要: 注:题解中 \(\operatorname{lsh}\),\(\operatorname{rsh}\),\(\operatorname{or}\) 分别表示按位左移、按位右移、按位或,即 c++ 语言中的 <<,>>,|。 我也是打上轮廓线 DP 了。 设 \(f_{x,y,S}\) 表示当前在 \ 阅读全文
posted @ 2025-01-02 14:03 zhangxy__hp 阅读(19) 评论(0) 推荐(0)
摘要: A. [NOIP2015 普及组] 推销员 首先考虑一个明显假的贪心,选择前 \(X\) 大的疲劳值计算答案。 它假就假在,可以选择一个(或几个)疲劳值更小,但更远的位置,使总贡献更大。 略经思考后发现,如果要更换,那么一定要满足距离比当前的所有都远,而且更换掉的一定是当前最小的疲劳值。 同时,如果 阅读全文
posted @ 2024-12-30 14:23 zhangxy__hp 阅读(72) 评论(0) 推荐(1)
摘要: A. [CCO2015] 路短最 设 \(dp[i][S]\) 表示走到 \(i\) 点,经过的点集为 \(S\) 的最长路,用类似于 spfa 的方式转移即可。 复杂度是一个 bfs,具体不太会证。 Code #include<bits/stdc++.h> #define ll long long 阅读全文
posted @ 2024-12-29 18:07 zhangxy__hp 阅读(20) 评论(0) 推荐(0)
摘要: 高维前缀和(SOSDP)解决这样的问题: 给定 \(f_i\),其中 \(i\in[0,2^n-1]\),求解 \(\sum\limits_{j\subseteq i}f_j\)。 考虑一维前缀和: for(int i=1;i<=n;i++){ sum[i]=sum[i-1]+a[i]; } 二维前 阅读全文
posted @ 2024-12-22 22:02 zhangxy__hp 阅读(132) 评论(0) 推荐(1)
上一页 1 ··· 6 7 8 9 10 11 下一页