摘要: Link: P2397 传送门 Solution: (1)在这里记录一个小小的黑科技:摩尔投票法 (线性时间复杂度,$O(1)$的空间复杂度求众数) 从数组的第一个元素开始,假定它代表的群体的人数是最多的 设置一个计数器,在遍历时遇到不同于这个群体的人时就将计数器-1,遇到同个群体的人时就+1 只要 阅读全文
posted @ 2018-07-09 19:45 NewErA 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Link: P1580 传送门 Solution: 拿来练练字符串的读入: 1、$gets()$相当于$c++$中的$getline()$,但返回值为指针!(无数据时为NULL) (都读入换行符,并将其舍弃) 2、$sscanf(起始指针,.....,......)$可以实现从另一个字符串读入 3、 阅读全文
posted @ 2018-07-09 19:34 NewErA 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Link: AGC003 传送门 A: 判断如果一个方向有,其相反方向有没有即可 #include <bits/stdc++.h> using namespace std; char s[1005]; map<char,bool> mp; int main() { scanf("%s",s); fo 阅读全文
posted @ 2018-07-09 18:57 NewErA 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Link: P2396 传送门 Solution: 一眼能看出$O(n*2^n)$的状压$dp$ 但此题是个卡常题,$n=23/24$的时候就别想过了 这题算是提供了一种对状压$dp$的优化思路吧 原来我们要用$n$的时间来查找当前有哪些位为1,然后从这些位来转移 但实际上可以通过树状数组中$low 阅读全文
posted @ 2018-07-09 08:50 NewErA 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 2752 传送门 Solution: 虽然有期望,但实际上就是除了个总数…… 此题计算总代价明显还是要使用对每个$w_i$计算贡献的方式: $w_i的贡献为w_i*(i-l+1)*(r-i)$(左端点的方案数乘上右端点的方案数) 为了能使维护的数据符合$RMQ$的性质,我们要将 阅读全文
posted @ 2018-07-09 08:27 NewErA 阅读(136) 评论(0) 推荐(0) 编辑