一名苦逼的OIer,想成为ACMer

Iowa_Battleship

[置顶] NOIP2018游记-退役之战

摘要: $Day\ 0$ 从火车站下来坐地铁$1$小时,再乘公交车到酒店,还要帮队里一个~~断腿~~大佬搬东西,累死我了。。 到酒店就快$5$点了,想打个牌也没时间。 酒店的房间很不错,空间大又干净,后来查了下发现是准五星级酒店。。~~双人间$360$赚翻~~ 晚上一起出去吃了顿大餐,回来打了两副牌就回房间 阅读全文

posted @ 2018-11-09 07:03 Iowa_Battleship 阅读(405) 评论(2) 推荐(1) 编辑

[置顶] 模板复习

摘要: 没几天就要退役了$QAQ$,赶紧复习下板子。 慢慢补 目录 高精 数学、数论 线性筛 快速幂 线性推逆元 扩展欧几里得 卢卡斯定理 ST表 数据结构 并查集 堆 单调栈 单调队列 字符串HASH KMP Trie树 树状数组 线段树 分块 Splay 树链剖分 数位DP 图论 单源最短路径 Dijk 阅读全文

posted @ 2018-11-05 19:15 Iowa_Battleship 阅读(485) 评论(1) 推荐(1) 编辑

2021年1月14日

CF710D Two Arithmetic Progressions

摘要: 原题链接 即求在$[L,R]$之间有多少个整数$K$满足$K = a_1x + b_1 = a_2y + b_2$,其中$x,y$为自然数 很容易想到将等式移项,变为$a_1x + a_2(-y) = b_2 - b_1$ 那么很明显可以用扩欧来求出一组$x,y$的特解,并将特解移至自然数范围内的最 阅读全文

posted @ 2021-01-14 20:22 Iowa_Battleship 阅读(108) 评论(2) 推荐(0) 编辑

CF982E Billiard

摘要: 原题链接 奇妙的数论题 用对称的方法展开图形,问题就变成了求一条射线最先经过的点$(k_1n, k_2m)$ 懒得画图,盗用一下大佬画的图 那么就是求$an + (y - x) = bm$ 即$an + (-b)m = y - x$ 使用$\mathtt$求出$a,b$,注意将水平或垂直移动的情况特 阅读全文

posted @ 2021-01-14 18:42 Iowa_Battleship 阅读(156) 评论(0) 推荐(0) 编辑

2019年11月1日

牛客CSP-S提高组赛前集训营2 T2沙漠点列

摘要: "原题链接" 算法不难,比赛的时候就和cyc大佬一起yy了正解,不过因为交的时候比较急(要回寝室惹),我有两数组开错大小直接爆到50,cyc大佬则只把文件输入关了一半,直接爆零(╯ ̄Д ̄)╯┻━┻ 要尽量使$k$次删边都能有贡献,那么很容易就想到割边。 所以我们先用$\mathtt{tarjan}$ 阅读全文

posted @ 2019-11-01 20:41 Iowa_Battleship 阅读(212) 评论(0) 推荐(1) 编辑

2019年10月24日

洛谷1136 迎接仪式

摘要: "原题链接" 普通的$DP$题,~然而我又做了好久,太菜了~。 很容易发现直接描述“交换”这一操作比较困难,于是我们可以考虑将这一操作转换一下:交换一个 和`z z`变为 ,一个 变为 。 那么我们可以求出当$j$个 变为 ,$k$个 变为 时最多能出现的 个数。而“交换”这一操作就是当$j=k$的 阅读全文

posted @ 2019-10-24 20:54 Iowa_Battleship 阅读(192) 评论(0) 推荐(0) 编辑

2019年6月19日

BZOJ1060或洛谷1131 [ZJOI2007]时态同步

摘要: "BZOJ原题链接" "洛谷原题链接" 看上去就觉得是一道树形$\mathtt{DP}$,不过到头来我发现我写了一个贪心。。 显然对越靠近根(记为$r$)的边进行加权贡献越大,且同步的时间显然是从根到各个叶子节点的时间中的最大值。 于是先求出同步的时间,记$f[x]$表示从根到以$x$节点为根的子树 阅读全文

posted @ 2019-06-19 21:00 Iowa_Battleship 阅读(140) 评论(0) 推荐(0) 编辑

2019年3月25日

洛谷1121 环状最大两段子段和

摘要: "原题链接" 乍看完全没啥想法,实际上很简单。 首先预备知识: "最大子段和" 的做法。 对于环状最大两段子段和,实际上只有两种情况(设$0$表示不取,$\_$表示取): 1. $0000\_\_\_\_0000\_\_\_\_0000$,即没有利用环状这个条件,直接在原序列里取。 2. $\_\_ 阅读全文

posted @ 2019-03-25 21:05 Iowa_Battleship 阅读(310) 评论(1) 推荐(0) 编辑

2019年3月22日

洛谷1114 “非常男女”计划

摘要: "原题链接" ~~日常写水题~~ 将所有女生看作$ 1$,然后对整个序列进行前缀和操作(设前缀和数组为$S[]$)。那么若$S[x] = S[y]$,就表明区间$(x, y]$之间的男女人数是相同的。 因此我们扫一遍前缀和数组,开一个桶记录某个值下的最小下标(即上面提到的区间左端点$x$),而当下一 阅读全文

posted @ 2019-03-22 20:14 Iowa_Battleship 阅读(174) 评论(0) 推荐(0) 编辑

2019年3月20日

BZOJ1058或洛谷1110 [ZJOI2007]报表统计

摘要: "BZOJ原题链接" "洛谷原题链接" STL 本题可以直接使用$\mathtt{STL\ multiset}$水过去。 因为本题插入数的操作实际上就是将原数列分为$n$段,在每一段的末尾插入数,所以我们只需维护每一段的开头和末尾两个数,这样更新相邻差值时只需考虑插入数与原末尾和下一段的开头两个数的 阅读全文

posted @ 2019-03-20 21:26 Iowa_Battleship 阅读(156) 评论(0) 推荐(0) 编辑

2019年3月16日

LaTeX入门

摘要: 原写于我的洛谷博客,由于洛谷的$\mathtt{markdown}$编辑器和博客园的$\mathtt{markdown}$编辑器有点差别,所以实在懒得进行微调,就直接挂一个到洛谷博客的链接好了。 "$\LaTeX\text{入门}$" 阅读全文

posted @ 2019-03-16 09:59 Iowa_Battleship 阅读(746) 评论(2) 推荐(0) 编辑

2019年3月7日

BZOJ1270或洛谷1107 [BJWC2008]雷涛的小猫

摘要: "BZOJ原题链接" "洛谷原题链接" $DP$水题。 定义$f[i][j]$表示小猫在高度$i$,位于第$j$棵树时最多能吃到的柿子的数量。分为直接往下跳和跳到另一棵树两个决策。 那么很容易写出状态转移方程: $$f[i][j] = \max \{ f[i + 1][j], f[i + Delta 阅读全文

posted @ 2019-03-07 20:58 Iowa_Battleship 阅读(174) 评论(0) 推荐(0) 编辑

2019年3月4日

洛谷1103 书本整理

摘要: "原题链接" $DP$水题,但我用了个三维数组。。在某谷看到的题解全是二维的。。不过反正能$A$,管它呢。 定义$f[i][j][k]$表示前$i$本书中不选$j$本,且最后一本选的书的下标为$k$。设$a[i]$表示第$i$本书的宽度,$m$表示最多能不选几本,$abs()$为绝对值。 于是有状态 阅读全文

posted @ 2019-03-04 21:22 Iowa_Battleship 阅读(172) 评论(0) 推荐(0) 编辑

2019年3月3日

洛谷1092 虫食算

摘要: "原题链接" 这题可以用爆搜或高斯消元,这里我用的是高斯消元。 对于题目中的样例: 我们可以将其转化为如下的方程组: $\begin{cases} A + B = E + k_1 \\ B + D = B + k_2 \\ C + A = B + k_3 \\ E + C = A + k_4 \\ 阅读全文

posted @ 2019-03-03 20:10 Iowa_Battleship 阅读(239) 评论(0) 推荐(0) 编辑

2019年3月1日

洛谷1083 借教室

摘要: "原题链接" 二分+差分 运用差分的思想,对于在$[l, r]$间租借$x$间教室的订单,在差分数组(设为$a[]$)中只需将$a[l] + x, a[r + 1] x$即可,最后只需要前缀和一下就可以计算出某一天需要租借的教室数量,再与当天可租借的教室数量比较大小就可以知道是否可行。 于是我们成功 阅读全文

posted @ 2019-03-01 19:59 Iowa_Battleship 阅读(184) 评论(0) 推荐(0) 编辑

2019年2月17日

洛谷1074 靶形数独

摘要: "原题链接" 终究还是逃不过这题,真的懒得写爆搜。。 在某一行中填数时,可以使用链表以减少无用的遍历,即防止遍历到在该行已经填过的数字。 再开$3$个数组,一个记录改格是否填过数,一个记录这一列中哪些数已经存在,一个记录这个格子所在的九宫格里哪些数已经存在。 对于转成九宫格的下标,其实是有公式的,不 阅读全文

posted @ 2019-02-17 15:21 Iowa_Battleship 阅读(148) 评论(0) 推荐(0) 编辑

2019年2月16日

洛谷1069 细胞分裂

摘要: "原题链接" 其实就是分解质因数。 将$m_1$分解质因数,注意每个质因数的个数要乘上$m_2$,设个数为$a_j$。 而要使得$m_1 ^ {m_2} | S_i ^ k$,显然要求$S_i$的质因数包含$m_1$的质因数,至于个数的要求,让$k$足够大即可。 因此对每一个$S_i$用$m_1$的 阅读全文

posted @ 2019-02-16 13:53 Iowa_Battleship 阅读(163) 评论(0) 推荐(0) 编辑

2019年1月5日

洛谷1050 循环

摘要: "原题链接" 觉得这个大佬写的挺好的就直接复制过来了(略有改动)。 我们可以从尾来分析,即后$1$位,后$2$位,后$3$位,后$4$位……后$k$位,递推去找。 假使输入数据位$198123\ 4$。 1.截取后$4$位$8123$,只需对$8123$做处理。 2.首先取最后一位$3$,寻找循环节 阅读全文

posted @ 2019-01-05 10:48 Iowa_Battleship 阅读(181) 评论(0) 推荐(0) 编辑

2019年1月2日

CF Good Bye 2018

摘要: 前言:这次比赛爆炸,比赛时各种想多,导致写到$D$题时思路已经乱了,肝了$1$个多小时都没肝出来,$B$题中途因为没开$long\ long$又被$HACK$了。。$C$题因为在提交前修改的一个疏忽,$fst$。。瞬间起飞,$rating$掉了$100+$,差点回到$pupil \quad QAQ$ 阅读全文

posted @ 2019-01-02 21:27 Iowa_Battleship 阅读(230) 评论(0) 推荐(0) 编辑

2018年12月29日

洛谷1043 数字游戏

摘要: "原题链接" 又是一道挺水的类区间$DP$。 因为题目给定的是一个环,所以先断环成链再$DP$即可。 设$f[i][j][l]$表示$i \sim j$之间的数分成$l$段的最大值,$g[i][j][l]$为最小值,$mod(x)$为$(x \mod 10 + 10) \mod 10$,$s[]$为 阅读全文

posted @ 2018-12-29 15:08 Iowa_Battleship 阅读(131) 评论(0) 推荐(0) 编辑

2018年12月27日

洛谷1041 传染病控制

摘要: "原题链接" 爆搜题。 有个很显然的贪心,就是第$i$轮扩展肯定是删去$i$到$i + 1$层上的某一条边。 另外,贪心地删除含子节点最多的点是错误的,比如一条很长的链和一个比链节点少一点但是全部分布在一层,这样就是错误的。 所以我们爆搜的枚举删去这一层的哪个点,并累加上以该点为根的子树大小,然后继 阅读全文

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

2018年12月26日

洛谷1040 加分二叉树

摘要: "原题链接" 挺水的一道区间$DP$。 设$f[i][j]$表示在中序遍历下编号$i \sim j$的点所构成的子树的最高加分,枚举$k$为子树的根,则有状态转移方程: $$f[i][j] = \max \limits _{k = i + 1} ^ {j 1} \{ f[i][k 1] \times 阅读全文

posted @ 2018-12-26 20:56 Iowa_Battleship 阅读(142) 评论(0) 推荐(0) 编辑

导航