摘要: B. 最长无重复字符子串的长度 维护一个不含重复字符的子串。每次子串右边界加入一个字符,若原子串中已经含有这个字符,向右移动左边界,直至重复字符离开子串。每次操作后更新maxx。不断重复该操作。 #include <iostream> using namespace std; char s[1000 阅读全文
posted @ 2020-09-17 08:04 .Ivorelectra 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一、最大流 BFS Edmonds-Karp算法 增广路定理: 只要残量网络中存在增广路,流量就可以增大。如果残量网络中不存在增广路,则当前流是最大流。 (希望代码没有抄错。。。 #include <vector> #include <queue> #include <cstring> using 阅读全文
posted @ 2020-08-05 23:36 .Ivorelectra 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题意: 假设有 n 个活动,每个活动的开始和结束时间分别为 si,ti,我们需要将它们安排到一些教室,任意活动都可以在任意教室进行,同一间教室的活动的时间不能重叠,求最少的教室数。 思路: 实际上我们并不关心每一间教室具体的情况,我们只关心,某个时刻一间教室被占用,某个时刻一间教室变为空,而这与活动 阅读全文
posted @ 2020-08-02 10:08 .Ivorelectra 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 喜串的定义:字符串 a 与字符串 b 互为喜串需满足以下两个条件之一: a 和 b 相同。将 a 分成 a1 与 a2 两个等长串,b 分成 b1 与 b2 两个等长串,其子串需满足以下两个条件之一: a1 与 b1 互为喜串且 a2 与 b2 互为喜串。a1 与 b2 互为喜串且 a2 与 阅读全文
posted @ 2020-07-30 23:26 .Ivorelectra 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 洛谷1879(大概算板子题叭。。 看数据范围应该是状压dp,通过二进制01表示状态。 #include <iostream> using namespace std; const int maxn=100000000; int state[13],dp[13][(1<<12)+3]; bool jd 阅读全文
posted @ 2020-07-30 15:49 .Ivorelectra 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 模板: const int maxn=10000; //注意:0 是无效下标 int n;//1-n //c[i]所掌控的前缀信息的下标范围是[i−lowbit(i)+1,i],树状数组 c 维护 ai 的前缀和 int c[maxn+1]; //lowbit(x):x的二进制表示里最低位的1与更低 阅读全文
posted @ 2020-07-30 10:17 .Ivorelectra 阅读(106) 评论(0) 推荐(0) 编辑