随笔分类 - 其他 - 思维题
摘要:感觉这个线段树分治和整体二分几乎相同啊~ code: #include <bits/stdc++.h> #define MAX 100300 #define ll long long #define lson now<<1 #define rson now<<1|1 #define setIO(s)
阅读全文
摘要:和超级钢琴,异或之三倍经验 $?$ 堆+贪心素质三连 $?$ 好无聊...... code: #include <bits/stdc++.h> #define N 500006 #define ll long long #define setIO(s) freopen(s".in","r",stdi
阅读全文
摘要:和超级钢琴几乎是同一道题吧... code: #include <bits/stdc++.h> #define N 200006 #define ll long long #define setIO(s) freopen(s".in","r",stdin) , freopen(s".out","w"
阅读全文
摘要:开始想到了一个二分+主席树的 $O(n\log^2 n)$ 的做法. 能过,但是太无脑了. 看了一下题解,有一个 ST 表+堆的优美解法. 你发现肯定是选取前 k 大最优. 然后第一次选的话直接选固定左端点,最优的右端点就行. 但是呢,这个右端点选完后就不能再选了,于是你把这个区间分成两个,再扔到堆
阅读全文
摘要:开始想了一个二分+可持久化trie验证,比正解多一个 log 仔细思考,你发现你可以直接按位枚举,然后在可持久化 trie 上二分就好了. code: #include <bits/stdc++.h> #define N 700005 #define setIO(s) freopen(s".in",
阅读全文
摘要:生成函数这个东西太好用了~ code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const int mod=998244
阅读全文
摘要:如果写过 LJJ 学二项式那道题的话这道题就不难了.
阅读全文
摘要:新学的黑科技,感觉好nb ~
阅读全文
摘要:这个题非常巧妙啊~
阅读全文
摘要:定义有向图的价值为图中每一个点的度数的 $k$ 次方之和. 求:对于 $n$ 个点的无向图所有可能情况的图的价值之和. 遇到这种题,八成是每个点单独算贡献,然后累加起来. 我们可以枚举一个点的度数是多少,然后试着去算该情况下的贡献,即 $\sum_{i=0}^{n 1}\binom{n 1}{i}i
阅读全文
摘要:求 $\sum_{i=0}^{k}\binom{m}{i}\binom{n m}{k i}i^L$ $(1\leqslant n,m\leqslant 2\times 10^7,1\leqslant L\leqslant 2\times 10^5)$ 这个式子比较简洁,然后也没啥可推的,所以我们将
阅读全文
摘要:求 $\sum_{i=0}^{n}\sum_{j=0}^{i}S(i,j)\times 2^j\times (j!)$ 不妨将式子化为 $\sum_{i=0}^{n}\sum_{j=0}^{n}S(i,j)\times 2^j\times (j!)$ (反正如果 $j i$ 的话 $S(i,j)=0
阅读全文
摘要:给定长度为 $n$ 的序列, 每个位置都可以被染成 $m$ 种颜色中的某一种. 如果恰好出现了 $s$ 次的颜色有 $k$ 种, 则会产生 $w_{k}$ 的价值. 求对于所有可能的染色方案,获得价值和对 $1004535809$ 取模的结果. 设 $lim=min(m,\frac{n}{s})$,
阅读全文
摘要:今天开始学习丧心病狂的多项式qaq...... . code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; int qpow
阅读全文
摘要:你发现 pizza 种类数不会很多,状压一下就可以了 code: #include <bits/stdc++.h> #define M 11 #define N 100005 #define LL long long using namespace std; int n,m,cnt; int v[1
阅读全文
摘要:特别神的一道题. 有一句话要反复揣摩:题中给的所有点构成一个多边形!! 而且读入还是按照多边形的轮廓读进来的!!! 我们知道,如果对称轴确定的话判定条件是对应角相等且对应边相等. 所以把相邻边夹角和边长看成二元组,然后倍长原串,跑一个 $mancher$ 求几个串的回文半径最大就行了. 代码就不贴了
阅读全文
摘要:考试 T2,是一个脑筋急转弯. 最暴力的贪心是每次先选左,再选右,再选左..... 然而这么做在一些情况下是错的. 但是,我们发现我们的选法一定是 $LLLLRLRLRLRLR$ 或 $RRRRLRLRLRLRLR$ (易证明) 所以直接枚举第一次向左/右走多少次,然后剩余的直接 $O(1)$ 计算
阅读全文

浙公网安备 33010602011771号