- bitset
1.位运算的常见函数__builtin_popcount(x)//x二进制内1的个数(unsignedint)__builtin_popcountll(x)//longlong版本__builtin_parity(x)//二进制下的1的个数的奇偶性__builtin_parityll(x)//longlong版本__builtin_ctz(x)//x二进制末尾0的个数__builtin_clz(x)//x二进......
- [题解](更新中)MX-X6 A~B
Portal:https://www.luogu.com.cn/contest/200833A-もしも容易发现可以构造\(1,x\)或\(x,1\)让序列如\(\dots,1,x,1,x,1,x,\dots\)这样循环。只需要关注\(n\)的奇偶性即可。点击查看代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intt,n,an;si......
- [题解]SFMOI Round I A~C
Portal:https://www.luogu.com.cn/contest/179008\(\bf{100+50+50+25+5=\color{indianred}225\color{black}\,\rk.\184}\)A-StrangeCakeGame显然对于小W,向下移动蛋糕刀是最有利的;对于小M,向右移动是最有利的。所以双方以最佳状态移动,最终\(x\ley\)的巧克力是小W的。直接......
- 【题解】「CF765F」Souvenirs
https://www.luogu.com.cn/problem/CF765F首先有一个比较navie的\(O(n\sqrtm\logn)\)的做法(add和del的时候,用两个multiset维护一下。有一个bitset的做法来优化用multiset查询前驱后继的做法:https://www.luogu.com.cn/article/zcmco6hd首先考虑离线下来,将询问挂......
- CF154C题解
传送门:https://codeforces.com/problemset/problem/154/C求出无向图中,满足所有出边都相连或出边直接连接点对的点对数。很显然可以暴力枚举点对一对对去check,时间复杂度\(O(n^2+m)\)。#include<bits/stdc++.h>usingnamespacestd;inlineintread(){charc;boo......
- 构树 题解
构树题解好题,除了毒瘤卡空间。“恰好”这个形式很二项式反演。设\(f(n)\)表示树上钦定\(n\)条边和原树相同的方案数,\(g(n)\)表示树上恰好有\(n\)条边和原树相同的方案数,那么原先的形式是:\[f(n)=\sum_{i\gen}{i\choosen}g(i)\]二项式反演得到:\[g(n)=\sum_{i\gen}(......
- QOJ 8726 [APIO2024] 魔术表演 题解
DescriptionAlice和Bob是著名的魔术师。Catherine是一位富豪,她非常喜欢观看Alice和Bob的魔术。某一天,Catherine决定向Alice和Bob发出挑战:只要他们能成功表演如下的魔术,Catherine就将向他们提供巨额奖金!这个魔术的表演过程如下:步骤\(1\):Bob进⼊⼀个密室中,在魔术......
- CF2018E2 Solution
CF2018E2Solution先考虑E1的做法。首先我们如果钦定一组\(k\)条线段的话,容易求出最大组数。简单来讲就是将所有端点按照右端点排序,这样只需要考虑一个偏序,然后扫描,将区间\([l_i,r_i]\)加一,当发现某个点的值为\(k\)时,就说明分成了一组方案。此时我们一定清空,然后记录当......
- 题解:洛谷P2339 [USACO04OPEN] Turning in Homework G
题目链接:洛谷P2339[USACO04OPEN]TurninginHomeworkG首先我们考虑如何处理到达给定时间后才能交作业这一限制。其实在生活中,我们一般只会考虑什么时候交作业截止(除了某些卷王),这样我们只用考虑如何在最大结束时间之前交作业,而不是在所有作业都没开始交之前考虑如何转悠(前者明......
- 题解:CF2009G1 Yunli's Subarray Queries (easy version)
题目要求\(a_i=a_{i-1}+1\),设\(b_i=a_i-i\),如果\(b_i=b_j\),那么\(i\)和\(j\)就在正确的相对位置上。这应该很好理解吧,\(a\)是一个公差为\(1\)的等差数列,下标也是一个公差为\(1\)的等差数列,对应位置相减就相等了。我们在输入\(a_i\)的时候减去\(i\),然后用滑动窗口......