一名苦逼的OIer,想成为ACMer

Iowa_Battleship

2018年9月30日

BZOJ4033或洛谷3177 [HAOI2015]树上染色

摘要: "BZOJ原题链接" "洛谷原题链接" 很明显的树形$DP$。 因为记录每个点的贡献很难,所以我们可以统计每条边的贡献。 对于每一条边,设边一侧的黑点有$B_x$个,白点有$W_x$,另一侧黑点有$B_y$,白点有$W_y$,边权为$w$,那么这条边的贡献就是$(W_x\times W_y + B_ 阅读全文

posted @ 2018-09-30 10:33 Iowa_Battleship 阅读(143) 评论(0) 推荐(0) 编辑

2018年9月29日

BZOJ1833或洛谷2602 [ZJOI2010]数字计数

摘要: "BZOJ原题链接" "洛谷原题链接" 又是套记搜模板的时候。。 对$0\sim 9$单独统计。 定义$f[pos][sum]$,即枚举到第$pos$位,前面枚举的所有位上是当前要统计的数的个数之和为$sum$。 cpp include include using namespace std; ty 阅读全文

posted @ 2018-09-29 19:48 Iowa_Battleship 阅读(124) 评论(0) 推荐(0) 编辑

洛谷3959 宝藏

摘要: "原题链接" 这题我是用了个玄学的$dfs$剪枝跑过,如果要看正解状压$DP$,可以移步机房大佬的博客( "传送门" ) 关于剪枝,具体的直接在代码里说吧。 cpp include include include using namespace std; const int N = 20; int 阅读全文

posted @ 2018-09-29 13:27 Iowa_Battleship 阅读(175) 评论(0) 推荐(0) 编辑

2018年9月28日

洛谷1600 天天爱跑步

摘要: "原题链接" 要解决这题有一个很重要的思想,就是将跑步的路径拆开来,分成向上走的$S\to LCA(S,T)$,及向下走的$LCA(S,T)\to T$($S$是路径起点,$T$是路径终点)。 然后对于两种路径单独统计贡献。 先只考虑向上走的路径$S\to LCA(S,T)$。 对于一个观测点$i$ 阅读全文

posted @ 2018-09-28 19:59 Iowa_Battleship 阅读(155) 评论(0) 推荐(0) 编辑

2018年9月27日

Codeforces55D Beautiful numbers

摘要: "原题链接" 虽然依旧是套模板,但是因为我太弱了,不会建状态,所以去看了题解。。 这里就直接引用我看的题解吧,写的不错的。 "题解" cpp //我的代码 include include using namespace std; const int mod = 2520; const int N = 阅读全文

posted @ 2018-09-27 14:31 Iowa_Battleship 阅读(142) 评论(0) 推荐(0) 编辑

2018年9月26日

HDOJ4734 F(x)

摘要: "原题链接" 数位$DP$,~~继续套记搜模板~~ 定义$f[pos][now]$,$pos$是枚举到的位数,$now$是$A$的权值减去当前枚举的数的权值,即剩余权值大小。 然后就是记搜模板的事。 cpp include include using namespace std; const int 阅读全文

posted @ 2018-09-26 19:57 Iowa_Battleship 阅读(174) 评论(0) 推荐(0) 编辑

HDOJ2089 不要62

摘要: "原题链接" 数位$DP$入门题。 记录前一个枚举到的数位,在每次枚举的时候避开$4$,如果前一个数位为$6$,还要跳过$2$。 然后套上记搜模板就好。 阅读全文

posted @ 2018-09-26 19:11 Iowa_Battleship 阅读(106) 评论(0) 推荐(0) 编辑

洛谷1993 小K的农场

摘要: "原题链接" 裸的差分约束。 1. $X_a X_b\geqslant C$ 2. $X_a X_b\leqslant C\Rightarrow X_b X_a\geqslant C$ 3. $X_a X_b\geqslant 0,X_b X_a\geqslant 0$ 并建立一个超级源点$0$,对 阅读全文

posted @ 2018-09-26 13:12 Iowa_Battleship 阅读(111) 评论(0) 推荐(0) 编辑

2018年9月25日

BZOJ4326或洛谷2680 运输计划

摘要: "BZOJ原题链接" "洛谷原题链接" 用$LCA$初始化出所有运输计划的原始时间,因为答案有单调性,所以二分答案,然后考虑检验答案。 很容易想到将所有超出当前二分的答案的运输计划所经过的路径标记,在这些运输计划都经过的边中的权值最大的这条边上建立虫洞,如果能使得所有运输计划中需要时间最多的那个计划 阅读全文

posted @ 2018-09-25 21:04 Iowa_Battleship 阅读(95) 评论(0) 推荐(0) 编辑

洛谷3119 [USACO15JAN]草鉴定Grass Cownoisseur

摘要: "原题链接" 显然一个强连通分量里所有草场都可以走到,所以先用$tarjan$找强连通并缩点。 对于缩点后的$DAG$,先复制一张新图出来,然后对于原图中的每条边的终点向新图中该边对应的那条边的起点连一条边,表示逆向走一次,且之后不会再逆向了。 最后在该图上跑$SPFA$求单源最长路即可。 cpp 阅读全文

posted @ 2018-09-25 13:23 Iowa_Battleship 阅读(114) 评论(0) 推荐(0) 编辑

2018年9月24日

BZOJ1051或洛谷2341 [HAOI2006]受欢迎的牛

摘要: "BZOJ原题链接" "洛谷原题链接" 显然在一个强连通分量里的奶牛都可以相互喜欢,所以可以用$tarjan$求强连通并缩点。 要求明星奶牛必须被所有人喜欢,显然缩点后的图必须满足只有一个点没有出度,因为若有两个点没有出度,那么其中一个点所包含的奶牛显然不能喜欢另一个点的奶牛。 而这个唯一的没有出度 阅读全文

posted @ 2018-09-24 21:22 Iowa_Battleship 阅读(110) 评论(0) 推荐(0) 编辑

POJ2349 Arctic Network

摘要: "原题链接" 先随便找一棵最小生成树,然后贪心的从大到小选择边,使其没有贡献。 显然固定生成树最长边的一个端点安装卫星频道后,从大到小选择边的一个端点作为卫星频道即可将该边的贡献去除。 所以最后的答案就是最小生成树上第$m$长的边。 cpp include include include inclu 阅读全文

posted @ 2018-09-24 20:32 Iowa_Battleship 阅读(78) 评论(0) 推荐(0) 编辑

洛谷4054 [JSOI2009]计数问题

摘要: "原题链接" 二维树状数组模板题。 对每一种颜色开一棵二维树状数组统计即可。 cpp include using namespace std; const int N = 310; const int M = 110; int C[M][N][N], a[N][N], n, m; inline in 阅读全文

posted @ 2018-09-24 14:47 Iowa_Battleship 阅读(115) 评论(0) 推荐(0) 编辑

2018年9月21日

洛谷3387 【模板】缩点

摘要: "原题链接" 做了挺多强连通分量缩点题,结果模板还晾着。。 $tarjan$找强连通缩点,然后拓扑排序$DP$就好。 cpp include using namespace std; const int N = 1e4 + 10; const int M = 1e5 + 10; struct eg 阅读全文

posted @ 2018-09-21 13:24 Iowa_Battleship 阅读(106) 评论(0) 推荐(0) 编辑

BZOJ2730或洛谷3225 [HNOI2012]矿场搭建

摘要: "BZOJ原题链接" "洛谷原题链接" 显然在一个点双连通分量里,无论是哪一个挖煤点倒塌,其余挖煤点就可以互相到达,而对于一个点双连通分量来说,与外界的联系全看割点,所以我们先用$tarjan$求出点双连通分量,再对每个点双进行讨论。 1. 若该点双不含割点,那么这个点双是与外面隔绝的,至少要设置两 阅读全文

posted @ 2018-09-21 12:38 Iowa_Battleship 阅读(173) 评论(3) 推荐(0) 编辑

2018年9月20日

BZOJ1093或洛谷2272 [ZJOI2007]最大半连通子图

摘要: "BZOJ原题链接" "洛谷原题链接" 和 Going from u to v or from v to u?( "题解" )这道题类似,只不过是求最大子图的大小和个数而已。 一样用$tarjan$求强连通分量,并进行缩点,然后对于缩点后的$DAG$进行拓扑排序$DP$。 定义$size[i]$表示 阅读全文

posted @ 2018-09-20 21:16 Iowa_Battleship 阅读(148) 评论(0) 推荐(0) 编辑

2018年9月19日

POJ2762 Going from u to v or from v to u?

摘要: "原题链接" 显然在一个强连通分量里,任意两个点都可以到达,所以我们先用$tarjan$求强连通分量,并进行缩点。 对于缩点后的$DAG$,必须满足是一条链,即在对该$DAG$进行拓扑排序的过程中,在任何时候都 有且只有一个点是入度为$0$ 。 因为若有两个点或以上的点同时出现入度为$0$,那么这几 阅读全文

posted @ 2018-09-19 20:45 Iowa_Battleship 阅读(118) 评论(0) 推荐(0) 编辑

2018年9月18日

POJ3422或洛谷2045 Kaka's Matrix Travels

摘要: "POJ原题链接" "洛谷原题链接" 很裸的费用流。 将每个点$x$拆成$x_1,x_2$,并从$x_1$向$x_2$连一条容量为$1$,费用为该点的权值的边,以及一条容量为$+\infty$,费用为$0$的边。 设$x$下方的点为$y$,右边的点为$z$(如果存在),则从$x_2$向$y_1,z_ 阅读全文

posted @ 2018-09-18 20:08 Iowa_Battleship 阅读(103) 评论(0) 推荐(0) 编辑

LaTeX数学公式大全

摘要: 原写于我的洛谷博客( "传送门" ),现搬到这个博客上。 建议去洛谷博客上看,因为两边的编辑器在有些功能上不能通用,所以之后若有删改或新增内容只在洛谷博客上弄,这边就懒得改了。 原本是针对洛谷的编辑器,不过懒得对博客园的进行修改了,就直接搬过来了,想来也够用了(对于某些在该编辑器上无法使用的直接删去 阅读全文

posted @ 2018-09-18 18:49 Iowa_Battleship 阅读(3698) 评论(3) 推荐(3) 编辑

POJ1966 Cable TV Network

摘要: "原题链接" 割去点使得无向图不连通,和最小割相似。 我们可以将点转化成边,这样就能跑最小割了。 枚举每两个不能直接到达的点$S,T$,使得删去一些点(除去这两个点)使得这两个点不连通(若两点能直接到达显然无解),然后我们按下面的方法建立新图: 1. 将每个点$x$,拆成两个点$x_1,x_2$,对 阅读全文

posted @ 2018-09-18 14:01 Iowa_Battleship 阅读(132) 评论(0) 推荐(0) 编辑

导航