把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
摘要: 今天的$ACM$模拟赛,最后一道题让我们抓耳挠腮了好长时间。这道题看似能贪心($50$分),又好像能搜索($50$分),其实就是$dp$,一道$01$背包的变体,问题中一个人要么到一边,要么到另一边。这不就是$01$背包嘛!不过还要控制人数。 下面有一个在$ACM$上过的,但是被民间数据hank掉的 阅读全文
posted @ 2020-03-18 11:22 275307894a 阅读(40) 评论(0) 推荐(0)
摘要: 马拉车算法是一种计算最长回文子串的算法,以其优秀的线性复杂度闻名于世,相较于$O(n2)$的$dp$算法和会被特殊数据卡到$O(n2)$的暴力算法,马拉车算法无疑是求解最长回文子串的最优选择。 最长回文子串分为偶数串和奇数串,为了避免这些问题,马拉车算法将每个字符与字符间插入一个特殊字符,在两头插入 阅读全文
posted @ 2020-03-18 11:16 275307894a 阅读(71) 评论(0) 推荐(0)
摘要: 题面传送门 很明显,$cf$第一题的老套路:构造题,只可惜这道构造题不太好,连暴力都能$A$ 我们来尝试构造一下,题目要求构造出$x$和$y$使得$lcm(x,y)+gcd(x,y)=n$,既然有了公约数,那我们就很容易往互质那方面想了,如果$x$,$y$互质,那么原式变为$1+xy=n$,只要解这 阅读全文
posted @ 2020-03-17 13:47 275307894a 阅读(49) 评论(0) 推荐(0)
摘要: 题面传送门 这道题一眼就是排序,但$O(nlog^2n)$的复杂度过不去(\(PS\):但有人卡过去了),所以我们要换一个思路 事实上这道题我有一个奇葩想法,居然拓展出了图论模型...... 好吧,既然这样,我就来讲讲。 题目中要我们求最长连续数列,那么这个最长连续数列一定是一条链的关系:$k$扣着 阅读全文
posted @ 2020-03-17 12:39 275307894a 阅读(41) 评论(0) 推荐(0)
摘要: 题面传送门 这道题首先要有一个思维的转换:对于选择满足$0\leq i< n$ 的任意下标$i$ ,并让$a$数组里下标为$i$处的值变为$sum$。把赋值的思维转化成选择一个下标,把除了这个下标的所有值加到它身上 这道题正着想很难想,俗话说得好,正难则反,所以我们不如倒着做 对于已经构造好的$a$ 阅读全文
posted @ 2020-03-16 13:47 275307894a 阅读(62) 评论(0) 推荐(0)
摘要: 题面传送门 其实个人感觉这道题如果能用莫队过评分偏高(如果您是主席树大佬当我没说) 这道题用莫队怎么过呢? 我们可以分析一下式子 我们以$a_i$代表区间内颜色为$i$的袜子有几双,那么答案是$\dfrac{\sum\limits_{\dfrac{a_i*(a_i-1)}{2}}}{\dfrac{( 阅读全文
posted @ 2020-03-16 13:31 275307894a 阅读(47) 评论(0) 推荐(0)
摘要: 作为一名从小学就开始为$NOIP$奋战的$oier$,看到这一段话时,老泪纵横 终于结束的起点 终于写下句点 终于我们告别 终于我们又回到原点 …… 一个个 \(OIer\) 的竞赛生涯总是从一场$NOIP$开始,大多也在一场$NOIP$中结束,好似一次次轮回在不断上演。 如果这次 \(NOIP\) 阅读全文
posted @ 2020-03-16 13:18 275307894a 阅读(142) 评论(0) 推荐(0)
摘要: 题面传送门 看看像个图论,实际就是图论。仔细推几个样例就可以发现,这与奇偶数有关。而题目中又明显强调 \(1∼n\) 编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带。 于是我们可以用$spfa$求出点$1$到其他点的奇偶最短路,然后当$x_i$想生产$y_i$时,首先 阅读全文
posted @ 2020-03-16 13:12 275307894a 阅读(55) 评论(0) 推荐(0)
摘要: 题面传送门 说实话,$ccf$又抄袭原题惹。而且居然是这道题的弱化版。不应该像是这样的原题的稍微弱化版吗? 言归正传,这道题看似像模拟。又可以爆搜,不过复杂度太高。也太难打,所以略微思考一下,打了一个五重循环的$dp$。看看太恶心,再加上样例也没过,于是就放下了。打了一个贪心保底: #include 阅读全文
posted @ 2020-03-16 13:07 275307894a 阅读(42) 评论(0) 推荐(0)
摘要: 题面传送门 这道题是一道简单的模拟......$(xyh:what?)$首先我们要感谢可爱的$c++$的$STL$库,使得我们可以不用写循环队列。尽管这道题根本不用循环队列。我们开一个$f$数组来表示这个队列,其中这是个双端队列。当我们碰到一张$transfer$票时,我们就把他加入这个队列中,当我 阅读全文
posted @ 2020-03-16 12:58 275307894a 阅读(57) 评论(0) 推荐(0)
摘要: 题面传送门 这道题。。。。。。 对于$20%$的数据,保证输入的字符全部为$0$。 我们可以正解骗分对不对?写一行$putchar('0')$;就有二十分对不对?那那些爆零的同学。。。。。。看一下骗分导论 不过我相信,真正的大佬是不用上面的做法的。 其实,直接模拟呗。 先走一遍$char$数组,找到 阅读全文
posted @ 2020-03-16 12:56 275307894a 阅读(45) 评论(0) 推荐(0)
摘要: 题面传送门 对于这道题,我们很容易想到一个办法:搜索!你试试看 可是看到对于所有数据 $n\leq4000000000$应该就怂了。过不去! 细心观察 如果剪刀石头布三者都有,那么就会决不出胜负。 不不不不 还有一样我们没考虑 :每个人出的都一样! 那加个三不就好了! #include<bits/s 阅读全文
posted @ 2020-03-16 12:53 275307894a 阅读(54) 评论(0) 推荐(0)
摘要: 我在考试的时候看到了这道题,在一瞬间就蒙逼了,这是什么题?(请原谅我$-250$的智商)于是懵里懵懂的打了个$d$(电)\(f\)(风)\(s\)(扇),结果连样例都没有过。(毕竟才学搜索没多久嘛,也就两年)。再一看,看出了田忌赛马的味道,原来是这样!立刻打了个贪心信心满满的交上去。 #includ 阅读全文
posted @ 2020-03-15 13:19 275307894a 阅读(50) 评论(0) 推荐(0)
摘要: 题面传送门 说实话,在做这道题的时候真的没想到$dp$(因为不怎么会),想到贪心,递推什么的。后来一看,$O(vn)$差不多的复杂度,于是写了个$dp$。打了个板子,额......,居然$RE$了!不知道是板子错了还是打挂了!考试时只得了$70$分。 #include<cstdio> using n 阅读全文
posted @ 2020-03-15 13:13 275307894a 阅读(59) 评论(0) 推荐(0)
摘要: 题面传送门 这道题真是个裸题呀,裸的$floyd$加一点点小优化居然还是绿题,真不知道$\times\times\times$是怎么想的。 上代码: #include<bits/stdc++.h>//头文件不解释(那前面的是什么?) using namespace std; int n,m,k,z[ 阅读全文
posted @ 2020-03-15 13:10 275307894a 阅读(79) 评论(0) 推荐(0)
摘要: 题面传送门 其实这道题是贪心+模拟。 如果这道题连搜索都没过的,看看江风扬的题解吧。 好!开始进入正题。 先给你们一段代码: #include<cstdio> #define maxn 30 using namespace std; int n, a[maxn], ans = 2147483647, 阅读全文
posted @ 2020-03-15 13:03 275307894a 阅读(54) 评论(0) 推荐(0)
摘要: 题面传送门 算法简介: 分块主要是一个修改,维护区间的东西,它可以做到一边修改一边查询,区间修改 \(O(sqrt(n))\), 区间查询 \(O(sqrt(n))\),单点修改$ O(1)\(,单点查询\) O(1)$。 算法实现: 初始化:首先要把基本数组(以下简称 \(a\) 数组,长度为$n 阅读全文
posted @ 2020-03-15 12:57 275307894a 阅读(63) 评论(0) 推荐(0)
摘要: 题面传送门 看到这道题,暴力应该是很好打的,爆搜出放一件物品前要拿走多少,然后就记忆化出$dp$了:设$f_{i,j}$为放到第$i$个物品,锅内加上当前还有$j$件物品的最大总和,那么状态转移方程应该是$f_{i,j}=max(f_{i,k}+a_i*j)$,其中$k$表示没有拿走$<s$件物品时 阅读全文
posted @ 2020-03-15 12:49 275307894a 阅读(91) 评论(0) 推荐(0)
摘要: 题面传送门 首先,我们看到一个庞大的式子,好怕怕! 经$rsjdalao$解读,这就是所选的点权加上两个点都是自己的点围成的边的边权。 那么不就好做了,贪心!能拿点权大的点就拿大的点! 代码实现: #include<cstdio> #include<vector> #include<algorith 阅读全文
posted @ 2020-03-14 21:27 275307894a 阅读(59) 评论(0) 推荐(0)
摘要: 算法简介:$RMQ$是一个经典的动态规划问题,是可以$O(1)$时间求静态区间最大值的东西, 不过需要$O(nlog2n)$的预处理 算法实现:我们定义$f_{i,j}$表示以$i$为起点,向后$2j$个数中最大值。两重循环,一重枚举$i$,一重枚举$j$那么可以得到状态转移方程:$f_{i,j}= 阅读全文
posted @ 2020-03-14 21:16 275307894a 阅读(67) 评论(0) 推荐(0)
摘要: 第一次在家里打大型正规比赛($codeforces$除外),慌得一批,看着家里的$xp$系统......八点半开赛,结果$ccf$的阿里云卡崩了,等到九点钟才进去。第一题:这不是$codeforces$的原题改编吗,我刚做过这类的题目,啊等等,好像不太一样......跳了第二题:大模拟啊,$O(n^ 阅读全文
posted @ 2020-03-14 21:09 275307894a 阅读(78) 评论(0) 推荐(0)
摘要: 题面传送门 莫队,由原国家集训队队员莫涛同学提出的一种优雅的暴力,在分块的基础上以$O(\sqrt)$的均摊复杂度维护大量的区间信息(这里的大量,意为每个节点有很多信息,并非多次询问)。因其思路清晰,代码简单,变化多样,维护区间信息多样化,成为数据结构题的骗分神器,也成为了各大数据结构比赛的一大考点 阅读全文
posted @ 2020-03-14 21:02 275307894a 阅读(57) 评论(0) 推荐(0)
摘要: 题面传送门 $HAOI$的题目好水$(nan)$啊...... 也许一眼就是个线段树吧......反正我一眼没看出来。 第一眼暴模,第二眼差分,第三眼才线段树,也许是我太菜了吧。 线段树倒不错,可是数据有点大,$1 0\leq N \leq 10000000$呢,线段树四个数组,每个$n<<2$范围 阅读全文
posted @ 2020-03-14 20:10 275307894a 阅读(38) 评论(0) 推荐(0)
摘要: 题面传送门 很容易看出这是一道线性规划(虽然感觉本质上线性规划不应该单独被列出来) 数据范围提示我们,这道题要用$O(nv)$的算法 而状态转移是很容易发现要两个状态:当前所在的点(这是一般线性规划的套路)和这个等差数列的公差然后就可以很容易地得到单调不递减的等差数列的状态转移方程:\(f_{i,j 阅读全文
posted @ 2020-03-14 20:06 275307894a 阅读(66) 评论(0) 推荐(0)
摘要: 题面传送门 算法简介:树状数组是一颗类似于树的数组,他虽然画出来是一棵树,但在实现中还是一个数组,它可以维护具有传递性质的信息,比如区间和,区间乘积等。他可以查询$1-i$的信息。他支持单点修改,单点查询与区间查询,区间修改较为繁琐,需要用到差分数组,他的复杂度是查询$o(log2n)$,修改$o( 阅读全文
posted @ 2020-03-14 14:20 275307894a 阅读(69) 评论(0) 推荐(0)
浏览器标题切换
浏览器标题切换end