自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 资源 (1)
  • 收藏
  • 关注

原创 Excel多选

Option ExplicitSub Worksheet_Change(ByVal Target As Range)'让数据有效性选择 可以多选,重复选Dim rngDV As RangeDim oldVal As StringDim newVal As StringIf Target.Count > 1 Then GoTo exitHandlerOn Error Resume NextSet rngDV = Cells.SpecialCells(xlCellTypeAllValida

2022-05-30 19:32:26 385 1

原创 2021年ICPC(沈阳)Luggage Lock (BFS)

目录问题分析代码问题Luggage Lock - https://ac.nowcoder.com/acm/contest/24346/J分析类比:平面上两点间的距离,不会因为坐标平移而改变;特殊地,可以使得一个点的坐标变成(0,0)密码锁的两个状态,作同步转动,不会改变两个状态间的距离(状态距离:从一个状态转动到另一个状态的步骤)基于以上性质,可以将两个状态同步转动,使得初始转态都变成0000;因此,每一个查询都可以看作是从0000出发的从0000出发,到达其它状态的最小步骤 —— 迷宫

2021-11-22 21:03:33 911

原创 2021年ICPC(沈阳)Bitwise Exclusive-OR Sequence(图论)

目录问题分析代码问题Bitwise Exclusive-OR Sequence - https://ac.nowcoder.com/acm/contest/24346/B分析图论建模,有约束关系的连边;可以有多个连通子图异或操作:二进制位 同 或者 不同对于某个连通子图中的数 aia_iai​,它的某一位,要么取1,要么取0;根据约束关系,可以确定子图中的其它数的相应位的取值;若冲突,则意味着约束无法满足;对于 aia_iai​的某一位,取1时有解,则取0时也有解;可以调节0或1的取值,

2021-11-22 09:22:57 685

原创 2021年CCPC女生专场(淄博)I. 驾驶卡丁车(状压 + 模拟)

目录问题分析代码问题驾驶卡丁车 - https://codeforces.com/gym/103389/problem/I分析某个方格四周的平地及障碍物用 8 位 二进制表示代码#include<bits/stdc++.h>using namespace std;const int mxn = 50+10;int n, m, dir, step, x, y, v, g[mxn][mxn], cnt, cmd;int dx[8] = {0, -1, -1, -1, 0, 1

2021-11-09 20:44:46 307

原创 2021年CCPC女生专场(淄博)C 连锁商店 (状压DP)

目录问题分析代码问题连锁商店 - https://codeforces.com/gym/103389/problem/C2021年CCPC女生专场分析沿不同路径到达某个风景点,经历的连锁店可能有所不同,且与先后序无关,即和连锁店的组合有关连锁店的组合可用一个64位的长整型中的前n位表示(n≤36n \le 36n≤36)每个风景点使用一个map保存状态,将连锁店的组合值作为关键字若一个组合是另一个组合的子集,则抛弃(贪心)代码#include <bits/stdc++.h&

2021-11-03 08:36:27 361

原创 hdu 5885 XM Reserves(FFT)

目录问题分析代码问题hdu 5885 XM Reserves - https://acm.hdu.edu.cn/showproblem.php?pid=5885分析二维数组地址线性化一个格点对周边格点的产生影响,被影响的格点的地址从线性地址角度看,可以用多项式乘积的幂来表达对值的影响,可以用多项式的系数来表达代码#include<bits/stdc++.h>using namespace std;typedef complex<double> cd;cons

2021-10-24 14:10:31 154

原创 hdu 1402 A * B Problem Plus(FFT)

目录问题分析代码问题hdu 1402 A * B Problem Plus - http://acm.hdu.edu.cn/showproblem.php?pid=1402分析fft代码#include<bits/stdc++.h>using namespace std;typedef complex<double> cd;typedef long long ll;const double DFT = 2.0, IDFT = -2.0, PI = acos(-

2021-10-21 20:07:10 104

原创 hdu 4609 3-idiots(FFT)

目录问题分析代码问题hdu 4609 3-idiots - https://acm.hdu.edu.cn/showproblem.php?pid=4609分析fft 方法计算两边之和两边之和去重同一条边取两次,即 a + a = 2a两条边选取的次序交换,即 a + b = b + a,因此除2两边之和大于第3边,枚举第3边,去重将n条边排序升序枚举各边,前缀和方式计算大于当前边的两边可取数以下三种情况因重复不符去除两条边均比当前边长,设当前边是第i条,则去除(n−i)∗

2021-10-20 20:57:41 101

原创 P3803 多项式乘积(FFT)

目录问题分析代码问题设多项式 A(x)、B(x)、C(x)A(x)、B(x)、C(x)A(x)、B(x)、C(x) 满足A(x)=B(x)∗C(x)A(x)=B(x)*C(x)A(x)=B(x)∗C(x) ,且给定了 (x)、C(x)(x)、C(x)(x)、C(x) 的系数。求A(x)A(x)A(x)的系数。输入样例:13 3 // B(x)、C(x)的最高次1 1 1 1 // B(x)的系数1 1 1 1 // C(x)的系数输出样例1 2 3 4 3 2 1分析f

2021-10-19 19:34:19 149

原创 hdu 3068 最长回文(马拉车)

目录问题分析代码问题hdu 3068 最长回文 - https://acm.hdu.edu.cn/showproblem.php?pid=3068分析暴力搜索(tle)马拉车O(n)代码暴力搜索#include<bits/stdc++.h>using namespace std;const int MXN = 1e5+10;char s[MXN];int expand(int l, int r){ // 扩展 while(s[l] && s

2021-10-10 09:55:45 101

原创 hdu 5769 Substring(后缀数组)

目录问题分析代码问题hdu 5769 Substring - https://acm.hdu.edu.cn/showproblem.php?pid=5769分析代码/* hdu 5769 Substring */#include<bits/stdc++.h>using namespace std;const int MXN = 1e5+10;char s[MXN], x;int c[MXN], n, sa[MXN], sec[MXN], fir[MXN];int heigh

2021-10-07 17:00:01 122

原创 P3809 后缀排序(倍增法后缀数组)

目录问题分析代码问题P3809 后缀排序 - https://www.luogu.com.cn/problem/P3809分析基数排序第2关键字排序后,再对第1关键字分桶按第2关键字的逆序遍历,即可将第1关键字的同一桶内元素排序代码/* P3809 后缀排序 */// 排名(rank):有并列的序号, 例如:0、0、1、2、2,……// 排序:无并列的序号,例如:0、1、2、3、4、5、…… #include<bits/stdc++.h>using namespa

2021-10-06 16:06:43 158

原创 hdu 2222 Keywords Search(AC自动机)

目录问题分析代码问题hdu 2222 Keywords Search - https://acm.hdu.edu.cn/showproblem.php?pid=2222分析多模式匹配,AC自动机trie树fail树last树代码/* hdu 2222 Keywords Search */#include<bits/stdc++.h>using namespace std;const int MXN = 500010, MXL = 1000010, SIZE = 26;

2021-10-02 14:40:54 151

原创 hdu 2087 剪花布条(KMP)

目录问题分析代码问题hdu 2087 剪花布条 - https://acm.hdu.edu.cn/showproblem.php?pid=2087分析模式串P的长度为 iii 的前缀的最长公共前后缀 f[i]f[i]f[i]下标从0开始,长度 iii 前缀的下一个字符下标为 iii代码/* hdu 2087 剪花布条 */#include<bits/stdc++.h>using namespace std;const int MXN = 10010;int f[MXN]

2021-09-27 20:01:13 106

原创 hdu 1251 统计难题(字典树)

目录问题分析代码问题hdu 1251 统计难题 - https://acm.hdu.edu.cn/showproblem.php?pid=1251分析trie[0]作为尾,无后继trie[1]作为空白头代码/* hdu 1251 统计难题 */#include<bits/stdc++.h>using namespace std;const int MXN = 500010;int tot = 1;struct Trie{int nxt[26], num;} trie[

2021-09-23 20:54:04 118

原创 越流越贵(最小费用最大流)

目录问题分析代码问题分析代码#include<bits/stdc++.h>using namespace std;const int MXN = 55, MXE = 510, inf = 0x3f3f3f3f;int n, m, pre[MXN], dis[MXN], inq[MXN], flow[MXN];int head[MXN], tot;struct Edge{int to, nxt, cap, cost;}edge[MXE<<5];void addEdg

2021-09-21 16:49:33 89

原创 A Busiest Computing Nodes(线段树+优先队列)

目录问题分析代码问题Sample Input3 51 52 23 34 35 3Sample Output1分析线段树维护空位优先队列维护任务过期代码#include<bits/stdc++.h>using namespace std;const int MXN = 100010;struct Pr{ int end, pos; bool operator<(Pr x)const{ return end > x.end;}};prio

2021-09-20 20:10:20 255

原创 hdu 1217 Arbitrage(spfa负圈)

@问题hdu 1217 Arbitrage - https://acm.hdu.edu.cn/showproblem.php?pid=1217分析从s出发回到s,大于1即可代码#include<bits/stdc++.h>using namespace std;const int MXN = 35;int n, m, tot, head[MXN], inq[MXN];double dis[MXN];struct Edge{ int to, nxt; double dis

2021-09-20 13:01:06 122

原创 hdu 1317 XYZZY(spfa+最长路)

目录问题分析代码问题hdu 1317 XYZZY - https://acm.hdu.edu.cn/showproblem.php?pid=1317分析spfa最长路正圈的贡献不能忽略中途某两个房间能不能成功要判断最终能否到达终点要判断正圈的断定是要通过入队出队次数判断,不能以更新次数为依据,因为重边的原因,更新次数与圈的关系不确定正圈上的任意顶点一定可以达到 inf,因此一旦认为正圈上的点,则赋值 inf代码#include<bits/stdc++.h>using

2021-09-19 09:01:43 115

原创 poj 3422 Kaka‘s Matrix Travels — K取方格数(最大费用最大流)

目录问题分析代码问题K取方格数 - http://poj.org/problem?id=3422分析代码在这里插入代码片

2021-09-17 20:04:19 93

原创 序列选数(最大费用最大流 || 优先队列)

目录问题分析网络流代码优先队列最大费用最大流【TLE】问题给定偶数个数 a[1]、a[2]、...、a[n]a[1]、a[2]、...、a[n]a[1]、a[2]、...、a[n]。分别输出从这n个数里选 1、2、3、…、n/21、2、3、…、n/21、2、3、…、n/2 个数时的和的最大值,选数规则是不能同时选相邻的数。1≤a[i]≤1000,2≤n≤1000001\leq a[i] \leq 1000,2 \leq n \leq 1000001≤a[i]≤1000,2≤n≤100000分析

2021-09-17 10:48:36 106

原创 P3376 (最大流 dinic)

目录问题分析代码问题P3376 - https://www.luogu.com.cn/problem/P3376分析代码【950MS】#include<bits/stdc++.h>using namespace std;const int inf = 0x7f7f7f7f;const int MXN = 105, MXE = 10010;int tot, n, m, k, head[MXN<<1], d[MXN<<1], cur[MXN<&l

2021-09-13 09:16:44 159

原创 最大流 ISAP

引入求解最大流问题的一个比较容易想到的方法就是,每次在残量网络(residual network)中任意寻找一条从sss到ttt的路径,然后增广,直到不存在这样的路径为止。这就是一般增广路算法(labeling algorithm)。可以证明这种不加改进的贪婪算法是正确的。假设最大流是fff,那么它的运行时间为O( f⋅∣E∣)O\left(\ f\cdot \mid E\mid\right)O( f⋅∣E∣)。但是,这个运行时间并不好,因为它和最大流fff有关。人们发现,如果每次都

2021-09-12 08:40:00 183

原创 占棋盘(最大流 dinic)

目录问题分析代码问题分析代码#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int MXN = 105, MXE = 20010;int mp[MXN][MXN], l[MXN], c[MXN]; // 网格int tot, m, n, k, head[MXN<<1], d[MXN<<1], cur[MXN<<1]; // 图stru

2021-09-11 16:35:34 130

原创 偷钻石(最小割 2 最大流)

目录问题分析一般场景模型转换构图代码问题m个保安监控 n 个钻石。钻石价值 aia_iai​,保安小费 bib_ibi​。小偷若向保安支付小费,则保安放松监控,小偷将偷得钻石。问:如何支付小费将获得最大收益。输入:13 3 // n,m3 4 5 // 钻石的价值1 2 3 // 小费101 // 监控第1颗钻石的保安001101分析一般场景放弃若干钻石,支付若干保安小费,此时的收益:∑i=1nai−(∑j=1αakj+∑j=1βbkj),1≤α≤n,1≤β≤m\sum_{

2021-09-08 16:49:47 72

原创 最小割(最大流)

@toc问题n个顶点m条边的有向图,边有权值。现要求删除若干边使得顶点1和顶点n之间不存在路径,求删除的边的权值和最小。输入:15 51 3 12 // 1-> 3,权值122 4 54 5 83 5 72 3 7分析最小割 = 最大流代码#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int MXN = 55;int n, m, g[MXN]

2021-09-08 15:42:45 163

原创 分房间(最大流)

目录问题分析代码问题n 个人和m 个房间,每个人只住一个房间,每个房间只住1个人。问最多能安排几个人。输入13 3111001001分析构造有向图最大流代码#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int MXN = 105;int n, m, g[MXN][MXN], pre[MXN];queue<int> q;void bfs

2021-09-08 15:11:28 198

原创 hdu 1532 Drainage Ditches(最大流)

目录问题分析代码问题hdu 1532 Drainage Ditches - https://acm.hdu.edu.cn/showproblem.php?pid=1532分析图中的重边容量累加,自环忽略bfs 搜索增广路,路径存储在pre中(记录前驱节点),pre兼具标记作用增广路 不存在的标记是 汇点的前驱不存在搜索到增广路后,从汇点到源点 遍历路径,找出路径流量的瓶颈(最小值)从汇点到源点 遍历路径,更新残留网络代码#include<bits/stdc++.h>us

2021-09-08 10:51:41 132

原创 hdu 7101 Time-division Multiplexing(滑动窗口)

目录问题分析代码问题hdu 7101 Time-division Multiplexing - https://acm.hdu.edu.cn/showproblem.php?pid=7101分析代码#include<bits/stdc++.h>using namespace std;#define pos(x,y) st[x%y][x/y%len[x%y]]-'a'typedef long long ll;const int MXN = 105, MXM = 17;int n

2021-09-01 12:43:43 150

原创 hdu 7108 Command Sequence(哈希)

目录问题分析代码问题hdu 7108 Command Sequence - https://acm.hdu.edu.cn/showproblem.php?pid=7108分析代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int MXN = 1e5+5;int n;ll ans;map<pair<int, int>, int> pos;int main(

2021-09-01 10:50:07 117

原创 hdu 6287 口算训练(可持久化线段树+线性筛)

目录问题分析代码问题hdu 6287 口算训练 - https://acm.hdu.edu.cn/showproblem.php?pid=6287分析通过素因子的数量判断是否整除使用主席树维护区间素因子数量线性筛维护素因子线性筛维护素因子的序线性筛分解素因子代码#include<bits/stdc++.h>using namespace std;const int MXN = 1e5+5;int N, M, tot = -1, ver[MXN];int pri[M

2021-09-01 08:30:55 117

原创 P2617 第K小(动态可持久化线段树)

目录问题分析代码问题P2617 第K小 - https://www.luogu.com.cn/problem/P2617分析代码#include<bits/stdc++.h>using namespace std;const int MXN = 2e5+5;int N, n = 0, M, tot = -1, ver[MXN];int a[MXN<<1], b[MXN<<1];struct TreeNode{ int l, r; // 左右子树 i

2021-08-29 20:15:12 118

原创 Mex函数(可持久化线段树)

目录问题分析代码问题长度为n的自然数序列,求任意区间内未出现过的最小自然数。长度n、询问次数m、自然数aia_iai​满足:1≤n,m≤2000001\leq n,m\leq 2000001≤n,m≤2000000≤ai≤10000000000 \leq a_i \leq 1000 000 0000≤ai​≤1000000000分析序 →\rightarrow→ 时间各时刻的线段树维护区间内的各数最后一次出现的位置的最小值增量持久化策略优化线段树大于n的 aia_iai​ 按n

2021-08-27 14:31:06 659

原创 区间第K小(可持久化线段树)

目录问题分析代码问题给定一个序列a1,a2,⋯,ana_1,a_2,\cdots,a_na1​,a2​,⋯,an​,mmm 次操作,每次给定 l,r,kl,r,kl,r,k,问al,al+1,⋯,ara_l,a_{l+1},\cdots ,a_ral​,al+1​,⋯,ar​中第 kkk 小的值.1≤ai≤n1 \leq a_i \leq n1≤ai​≤n1≤n,m≤1000001\leq n,m \leq 1000001≤n,m≤1000001≤l≤r≤n,1≤k≤r−l+11\leq l

2021-08-26 14:07:01 260

原创 铺地砖(状压DP)

目录问题分析代码问题求用 1×21\times 21×2 的地砖铺设 n×mn\times mn×m 的地面的方案数.n×m≤300n\times m \leq 300n×m≤300结果对 1e9+71e9+71e9+7 取模分析代码#include<bits/stdc++.h>using namespace std;#define d(i,j) dp[i][j]typedef long long ll;const int md = 1e9+7;const in

2021-08-23 11:19:49 373

原创 集合划分(状压DP)

目录问题分析代码问题将n个整数分成若干组,并使得各组的数字之和为质数,求分组的方案数。1≤n≤151\leq n \leq 151≤n≤15整数 aia_iai​ 满足 1≤ai≤991\leq a_i \leq 991≤ai​≤99分析代码/* 集合划分 状压dp */#include<bits/stdc++.h>using namespace std;const int MXS = (1<<15)+5;const int MXN = 17;int N,

2021-08-21 12:43:49 212

原创 hdu 5418 Victor and World (状压dp)

目录问题分析代码问题分析代码/* hdu 5418 Victor and World 状压dp */#include<bits/stdc++.h>using namespace std;typedef long long ll;const int inf = 0x7f7f7f7f;const int MXS = (1<<16)+5;const int MXN = 20;int N, M, mp[MXN][MXN], dp[MXS][MXN], c[MXS];i

2021-08-20 15:26:03 184

原创 hdu 5691 Sitting in Line(状压dp)

目录问题分析实质递推状态定义复杂度代码细致递推【704MS】简洁递推【1278MS】问题hdu 5691 Sitting in Line - https://acm.hdu.edu.cn/showproblem.php?pid=5691分析实质求解最优排列递推例如:3,-1,-5,4(设不预设任何位置)若前面两个数是4、-5,则有两种排列4,-5,结果是:-20-5,4,结果是:-20这两个排列哪个更优呢?答案:无法比较。理由如下:若扩展一个3,则有4,-5,3,结果

2021-08-19 17:21:03 268

原创 hdu 4507 恨7不成妻(数位dp)

目录问题分析参照状态设计计算代码问题hdu 4507 恨7不成妻 - https://acm.hdu.edu.cn/showproblem.php?pid=4507分析参照详细讨论参照Bomb状态设计state1∈{0、1、2、3、4、5、6}state1\in \{0、1、2、3、4、5、6\}state1∈{0、1、2、3、4、5、6}state2∈{0、1、2、3、4、5、6}state2\in \{0、1、2、3、4、5、6\}state2∈{0、1、2、3、4、5、6}dp

2021-08-18 15:51:24 99

原创 HDU 2089 不要62(数位dp)

目录问题分析状态转移从低位到高位从高位到低位状态设计位最大值代码问题HDU 2089 不要62(数位dp) - https://acm.hdu.edu.cn/showproblem.php?pid=2089分析状态转移从低位到高位注意:图中的最高位是指当前已构造部分的最高位,并非指最终的最高位#mermaid-svg-gT0VoKIyjP1R8RuS .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--me

2021-08-17 15:07:41 96

cpptools-win32.vsix

cpptools-win32.vsix

2021-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除