oneman233

#

[置顶] 暂未分类的杂题

摘要: CF600E dsu on tree P1345 最小割点,拆点连流量为1的边 其余边流量无穷,跑最大流 P2073 set教学 P2617 树套树 P2746 缩点之后把一些树搞成联通的最小代价是入度为0的点和出度为0的点中的较大值 P3119 缩点建反边跑DAG上dp P3376 最大流 P33 阅读全文

posted @ 2019-12-28 17:37 oneman233 阅读(135) 评论(0) 推荐(0) 编辑

2019年11月8日 #

P2657 [SCOI2009]windy数(数位dp)

摘要: 题面仍然非常亲民: windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? 这道题跟数字计数有点差别,参数比较少,传三个参数下去就行: len:当前搜索剩余的长度 last:上一位数 阅读全文

posted @ 2019-11-08 16:26 oneman233 阅读(132) 评论(0) 推荐(0) 编辑

P2602 [ZJOI2010]数字计数(数位dp)

摘要: 题意简单明了: 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 显然要使用数位dp,数码的出现次数很显然满足前缀和的性质,所以只需要分别计算出$a 1$和$b$的答案即可 这里也要使用经典套路,先把十进制数字离散化存在一个数组里,然后由高位向低位搜索 记忆 阅读全文

posted @ 2019-11-08 16:07 oneman233 阅读(244) 评论(0) 推荐(0) 编辑

P1841 [JSOI2007]重要的城市(最短路+拓扑)

摘要: 找无向图中的某些点,使得删去这些点后会使得$A$到$B$的最短路变长,其中$A$和$B$都不等于给定的点 考虑对每个点跑一次dij,然后可以重建出一张最短路的新图,然后对新图做一次拓扑排序,如果发现某个点的出边终点的入度为1,那么就标记该点即可 注意一个特判: 标记点不能等于当前最短路的起点 ,因为 阅读全文

posted @ 2019-11-08 15:57 oneman233 阅读(170) 评论(0) 推荐(0) 编辑

2019年11月1日 #

2018 German Collegiate Programming Contest (GCPC 18)

摘要: A、给你一个迷宫,和一个路径,你需要求出路径一共走过的距离,路径是以二维坐标的形式给出的 除了读入实在司马以外, 这题就是一个裸的lca求树上路径 不需要离线,在线的倍增也能过 代码: I、暴力枚举全部加几使得A的字典序大于B 代码: C++ include using namespace std; 阅读全文

posted @ 2019-11-01 20:39 oneman233 阅读(281) 评论(0) 推荐(0) 编辑

2019年10月31日 #

2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)

摘要: A、给你一堆十进制数字,允许前导零,大小比较的方式同字典序 你需要更改最少的数位,使得整个序列单调不增 究极神秘的dp: $dp[i+1][j+k]=cal(dp[i][j])(0=dp[i][j]$ cal函数实际上贪心地找即可,先看一下能不能把每一位都设置得跟$dp[i][j]$一样 不能的话就 阅读全文

posted @ 2019-10-31 15:18 oneman233 阅读(125) 评论(0) 推荐(0) 编辑

P1772 [ZJOI2006]物流运输(最短路DP)

摘要: 题意是某些天的点不能使用,但是保证每一天都有一条从1到达m的路径,每次改变路径会有一个消耗,现在求最小花费 考虑如下的dp方程:(在时间上DP) $dp[i]=min\{dp[j]+(i j) L+K\} (0 define int long long using namespace std; co 阅读全文

posted @ 2019-10-31 09:42 oneman233 阅读(88) 评论(0) 推荐(0) 编辑

2019年10月30日 #

P4171 [JSOI2010]满汉全席(2-SAT)

摘要: 2 SAT板子,建图方法是: 对逻辑上存在推出关系的条件建边,最后检查矛盾 代码: C++ include using namespace std; const int N=205; int t,n,m; vector e[N]; char a[10],b[10]; void add(int x,i 阅读全文

posted @ 2019-10-30 17:17 oneman233 阅读(111) 评论(0) 推荐(0) 编辑

2019年10月29日 #

2019-2020 ACM-ICPC Brazil Subregional Programming Contest

摘要: A、给你一堆圆,问你能否从左上角走到右下角不经过所有圆 一种经典套路题, 考虑使用并查集判联通 ,如果两圆相交,就把他们合并,如果圆与边界相交则合并圆与边界 最后判断一下边界能否互相抵达即可 代码: D、给定一棵树,你需要选择k个叶子,标记从这些叶子到根节点路径上的所有节点 问最多有几个节点被标记 阅读全文

posted @ 2019-10-29 15:32 oneman233 阅读(603) 评论(0) 推荐(0) 编辑

2019年10月21日 #

P4782 【模板】2-SAT 问题(2-SAT)

摘要: 就只是模板而已 代码: 阅读全文

posted @ 2019-10-21 22:44 oneman233 阅读(120) 评论(0) 推荐(0) 编辑

导航