摘要:因为很懒,没有时间,只会口胡等等原因,所以有些题目就不打code了 $luogu:$ P1973 [NOI2011]Noi嘉年华: 时间离散化,预处理一个区间$[l,r]$内的最多活动个数$in[l][r]$ 无限制: 设$f[i][j]$表示到第$i$个时间点,第一个会场开$j$个活动时,第二个会 阅读全文
posted @ 2019-08-18 20:23 kafuuchino 阅读(174) 评论(0) 推荐(0) 编辑
摘要:P4782 【模板】2-SAT 问题 将每个数的真假分成两个点$i+n,i$ $a$真或$b$假 $=a$假$b$必假,$b$真$a$必真 $=a->b,b+n->a+n$ 以此类推建边 如果$x,x+n$在同一个强连通分量里,就不成立 用Tarjan判断。 注意有$2n$个点,每个都要跑Tarja 阅读全文
posted @ 2021-07-25 18:05 kafuuchino 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P3834 【模板】可持久化线段树 2(主席树) 静态查询区间第k小 离散化挂了..... 注意$|a_i|<=10^9$,所以离散化的时候$b[0]=-2e9$以防止$0$被忽略录入 #include<cstdio> #include<algorithm> using namespace std; 阅读全文
posted @ 2021-07-24 22:09 kafuuchino 阅读(3) 评论(0) 推荐(0) 编辑
摘要:P2671 [NOIP2015 普及组] 求和 前缀和 由题意可知 $y-x=z-y$ $z+x=2y$ 故x,z的下标只可能同为奇数或同为偶数 接下来的操作默认奇偶位分开处理 $(x+z)*(number_x+number_z)=x*number_x+z*number_z+x*number_z+z 阅读全文
posted @ 2021-07-11 13:16 kafuuchino 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P1106 删数问题 / U83355 删数问题【升级版】 贪心+链表 当一个数字比后面一个数字大时,删去这个数是更优的。 链表实现O(1)单点删除操作。 注意删去前导0,并且注意答案为0时不要删光了 #include<iostream> #include<cstdio> #include<cstr 阅读全文
posted @ 2021-07-09 20:14 kafuuchino 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P1955 [NOI2015] 程序自动分析 很容易看出是并查集 因为数据太大必须离散化 偷懒用了一下unordered_map(C++11) dev c++需要在编译选项中加入 -std=c++11 理论上unordered_map的复杂度为O(1),但实际肯定慢一些 #include<iostr 阅读全文
posted @ 2021-07-07 20:42 kafuuchino 阅读(11) 评论(0) 推荐(0) 编辑
摘要:P4447 [AHOI2018初中组]分组 贪心 原本考虑一口气连到底,但是只有60 举个反例: 1 2 3 3 4 5 一口气连到底的话就会出现:(1 2 3 4 5)(3),但最优解为(1 2 3)(3 4 5) 正解: ①考虑: 。。。6 6 7 7 7 。。。 ‘6’有2个,‘7’有3个 所 阅读全文
posted @ 2021-07-06 21:38 kafuuchino 阅读(7) 评论(0) 推荐(0) 编辑
摘要:P1308 [NOIP2011 普及组] 统计单词数 复健计划第一题 大小写字母(a与A)编号相差32 string输入用getline 输出用puts #include<iostream> #include<cstdio> #include<cstring> using namespace std 阅读全文
posted @ 2021-07-03 22:42 kafuuchino 阅读(16) 评论(0) 推荐(0) 编辑
摘要:没赶上末班车 阅读全文
posted @ 2019-11-17 16:36 kafuuchino 阅读(203) 评论(0) 推荐(0) 编辑
摘要:A. Maximum Square 直接O(kn^2)枚举最大边长 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int k,n,a[1005]; int main(){ cin>>k; whil 阅读全文
posted @ 2019-11-07 02:43 kafuuchino 阅读(204) 评论(0) 推荐(0) 编辑
摘要:[MtOI2019]黑蚊子多 : 按题意模拟 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m,k,t,q,nw; bool w[1005]; int main(){ scanf("% 阅读全文
posted @ 2019-11-03 16:41 kafuuchino 阅读(260) 评论(0) 推荐(0) 编辑