自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AcerMoOi之路

一只蒟蒻

  • 博客(40)
  • 收藏
  • 关注

原创 Codeforces896C Willem, Chtholly and Seniorious

这题我不会,,存个代码,,,珂朵莉树真神奇//By AcerMo#include<set>#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<iostream>#include<algorithm>#

2018-10-29 20:15:19 359

原创 ST表[学习笔记]

模拟赛求最值,要用二维ST表,可是我连一维都不会所以我写了个树状数组,然后跪了30分QAQ赶紧滚过来学一学,网上讲的好复杂QWQ概念ST表是用来求解区间最大值的一种优秀的离线算法,它可以 O(nlogn)O(nlogn)O(nlogn)预处理,,然后O(1)查询,如何实现呢?思想运用了近似于区间DP的方法,一个大区间有小区间转移得到,不同的是,我们定义ST[i][k]ST[i][k]S...

2018-10-26 20:23:26 403

原创 BZOJ1539&&洛谷P3462 [POI2007]ODW-Weights

神奇的思路题其它博客讲的太emmm了!!我尽量讲清QWQ思路我们把在同一行的两个数所在列建一条长度为1的边,不在同一列的建一条长度为0的边,然后对这张新建出来的图染色,我们要保证权值为0的两边的点颜色必然相同,为1则不同,为什么这么做?对于一条边权为1的边,它两端的元素是相同且在一行的,我们必须要交换这两列其中的一列,也就是1 12 3第一列和第二列一定有一列要交换,但是我们不能确定...

2018-10-25 15:42:25 384 2

原创 BZOJ2815&&洛谷P2597 [ZJOI2012]灾难

拓扑+LCA思路清奇的一道好题这个题真的不毒瘤!!吐槽一下出题人如何同时吓死草原上的羊??先考虑一下暴力反向建图跑个拓扑就完事了考虑一些特殊的情况假如输入的是一棵树,那么一个点的贡献就是他的子树大小-1,也就是子树中除他以外的所有点,但是大多数情况输入是一个DAG,那我们是不是可以找到一种方法,把它转化成一棵树呢?我们考虑样例的情况不难发现,若是4号点凉了,当且仅当2,3都凉了...

2018-10-25 11:02:51 301

原创 BZOJ1084&&洛谷P2331 [SCOI2005]最大子矩阵

DP+思维思路这道题的切入点是mmm,发现mmm只有两种取值,那么我们就可以尝试对mmm分类讨论m=1发现在m=1m=1m=1时就是在一个一维序列上做k个最大子段和,我们定义f[i][j]f[i][j]f[i][j]表示处理到第iii位,共jjj个矩阵的最大和,咋转移?1.1.1. 假设这一位不选,那就是f[i][j]=f[i−1][j]f[i][j]=f[i-1][j]f[i][j]=...

2018-10-24 21:46:57 415 2

原创 BZOJ1202&&洛谷P2294 [HNOI2005]狡猾的商人

差分约束 or 带权并查集思路假如我们给定了a−>b,a−>ca->b,a->ca−>b,a−>c现在又给你b−>cb->cb−>c你是不是就可以直接判断这条句子是不是假的了?我们用带权并查集维护两个元素之间的距离,然后每次发现有俩元素在同一个集合 ,就判断一下是不是满足d[x]−d[y−1]...

2018-10-24 19:29:15 293

原创 BZOJ1415&&洛谷P4206 [NOI2005]聪聪与可可

期望+BFS+记搜这题很神奇思路可可会跑,所以我们肯定不能每次动态求聪聪要咋走,然后发现总点数很少?我们对每个点BFS一遍,求出dis[x][y]dis[x][y]dis[x][y]也就是图中每两个点之间的路径长,然后根据这个长度,我们可以求出来一个go[x][y]go[x][y]go[x][y]表示当聪聪在xxx,可可在yyy时,聪聪会怎么走,判断就是dis[x][y]=dis[to[i...

2018-10-24 11:12:57 287

原创 洛谷P4316 绿豆蛙的归宿

拓扑+期望思路因为每条边等概率,那么就很轻松了,我们先跑个拓扑,确定拓扑序之后,从最后一个点向前更新,初始是f[n]=0f[n]=0f[n]=0,能到n的点会获得(w[i]+f[n])deg[u\frac{(w[i]+f[n])}{deg[u}deg[u(w[i]+f[n])​的期望长度,因为u的度数是deg[u]deg[u]deg[u]所以有1deg[u]\frac{1}{deg[u]}de...

2018-10-24 09:55:33 243

原创 BZOJ1264&&洛谷P4303 [AHOI2006]基因匹配

树状数组优化DP毒瘤题暴力60分!讲讲思路最暴力的思路就是n2n^2n2求LCS,能拿到60分得好成绩,如何AC?我也不会,这道题中每个元素都出现了5次,这是个很好的性质,也就是说两个序列的元素是一样的所以我们不妨存下第一个串中每个元素都在哪个地方出现过,那么我们在用第二个串匹配时,直接找到当前元素在a串中出现的位置,因为只有在这些位置才可能有贡献,然后我们用树状数组维护一下每个位置上的L...

2018-10-23 20:56:08 258

原创 BZOJ3594&&洛谷P3287 [SCOI2014]方伯伯的玉米田

二维树状数组优化DP手动再见大毒瘤这样的出题人就是丧病n2n^2n2只有10分!!!讲一下思路不难发现,每次拔高,必定是从序列中某个地方直接拔高到序列末尾,为啥?我们假设没有拔到末尾,那么有以下几种情况1.拔高区间有一些比左侧低的,现在不低于左侧了2.拔高区间有一些比左侧高的,现在还是高于左侧3.拔高区间有一些不高于右侧的,现在高于右侧了也就是说拔高某一段,会造成1.在它左...

2018-10-23 19:50:31 302 1

原创 Codeforces 611B New Year and Old Property

思维题题目大意给定你l和r,问你在这个区间内,有多少数满足化成二进制后,只有一个0思路我们发现最多也就60位,所以我们可以枚举0在哪一位,然后在补1,然后统计个数就好了,如何枚举0呢?我们先预处理二进制下的2i2^i2i,然后当我们要枚举0在第i-1位时,就可以让num=2i+2i−1−1num=2^i+2^{i-1}-1num=2i+2i−1−1,就会发生1000000+100000−...

2018-10-19 21:15:30 237

原创 BZOJ1260&&洛谷P4170[CQOI2007]涂色

区间DP思路我们定义f[i][k]f[i][k]f[i][k]表示从i涂到k,使得和原序列相同的最少步骤,显然f[i][i]=1f[i][i]=1f[i][i]=1,因为这是最暴力的涂法QWQ,然后如何转移?考虑两个端点i,k,若s[i]=s[k]s[i]=s[k]s[i]=s[k],那么显然我们可以在涂这两个端点中间之前,先把i到k涂一遍,再涂中间,所以f[i][k]=min(f[i+1][...

2018-10-18 21:17:19 318

原创 BZOJ1106[POI2007]TET-Tetris Attack立方体大作战

树状数组思路不难发现对于1…2…2…1这种情况来说,先删除2比先删除1更优,也就是说有匹配就删掉肯定比先删掉一个后来的匹配要优,对于12…12先删除哪个对答案的贡献是相通的…1…2…1…2…这样先删除1是最优的,所以思路就明朗了,维护一个点到他上次出现的位置有多少还没被删除的点就好了,然后我们就可以用树状数组维护一下洛谷还要输出方案,真毒瘤代码//By AcerMo#include&...

2018-10-18 14:42:04 318

原创 Codeforces512A&&510CFox And Name

拓扑水题从每个字符串向它后面的字符串向后连边,然后拓扑判环,priority_queue确定顺序代码//By AcerMo#include<queue>#include<cmath>#include<cstdio>#include<cstring>#include<iostream&amp

2018-10-18 11:08:43 282

原创 Codeforces1042D Petya and Array

树状数组好题思路题目的要求就相当于存在一个sum[r]-sum[l-1]<t的关系,然后我门可以写成sum[r]-t<sum[l-1],所以我们可以先处理一个前缀和数组,然后类比求逆序对的方式,查找在他之前出现的sum[i]>sum[k]-t并且k>i的数量就好了,要注意的一点就是我们在0的位置有一个sum[0]=0不能忽略掉代码//By AcerMo#inclu...

2018-10-18 09:45:46 269

原创 BZOJ1510&&洛谷P3434 [POI2006]KRA-The Disks

单调栈?思路暴力大法好啊我们预处理出每个位置以前最小的半径,然后维护一个指针指向上一次 的位置,一个盘子被卡住的地方就是从最底下向上扫,第一个半径大于等于它的位置,自己脑补一下?在这个位置下面的那个半径就会小于它,他就下不去了,特殊的有可能某一次判断这个指针没有动,也就是说正好这个指针的位置卡住,我们就要直接给l–代码//By AcerMo#include<cmath>#...

2018-10-17 19:36:40 257

原创 BZOJ3142&&洛谷P3228 [HNOI2013]数列

毒瘤数学题思路我们考虑如何限定同类数列?用涨幅相同限定所以我们通过枚举每两天之间的涨幅就可以枚举出一类数列,这类数列有多少种呢?我们假设第i天到第i+1天的涨幅是s,第一天涨了s1,第二天涨s2,那么到最后我们可以通过调大第1天的价格,那么后面就一起变大了,所以因为有每天都不大于n这个限制,所以最大的那天应该是最后一天也就是第k天要小于等于n,不难发现将前几天的涨幅相加再加上第一天的价格就...

2018-10-17 18:36:20 269

原创 BZOJ2751&&洛谷P2220[HAOI2012]容易题

容易题 呵tui~毒瘤数学题思路我们考虑没有限制元素的情况,每个集合都是1~na1∗b1∗...∗m1+a1∗b1∗...∗m2...a_1*b_1*...*m_1+a1*b_1*...*m2...a1​∗b1​∗...∗m1​+a1∗b1​∗...∗m2...发现可以合并成(a1+a2+...+an)∗(b1+b2+...+bn)∗...∗(m1+m2+...+mn)(a_1+a_2...

2018-10-17 17:05:30 286

原创 BZOJ1486&&洛谷 P3199 [HNOI2009]最小圈

01分数规划->二分+dfs判负环思路考虑在平均值最小的环上的每条边都减去平均值之后,环的总权值是0,而平均值大于这个环的平均值的环每条边减去最小环的平均值总权值会大于零,反过来,小环减去大环的平均值会出现负权环,所以二分的判断条件就有了,二分一个最小平均值,若图中存在一个负环,那么就存在更小的平均值吐槽我把有向图建成了无向图,一直跑不过样例QWQ代码//By AcerMo#i...

2018-10-17 10:51:24 350 2

原创 BZOJ1614&&洛谷P1948 [USACO08JAN]电话线Telephone Lines

二分思路花费是所选的边里最长的边,所以我们肯定是贪心的把k次机会用在最长的k条边上,然后花费就是第k+1长的边,那我们不妨二分第k+1条边的长度,小于它的没有花费,那么跑最短路时就看做一条边权为0的边,然后大于它的边会花费一次机会,所以边权设为1,然后最后判断dis[n]若大于k,则说明当前二分值比答案要小,因为 需要多余k次机会才能使当前答案为答案,然后还要注意的一点使若n没有被更新,则输出...

2018-10-17 10:00:49 230

原创 Codeforces460C Present

二分题意一个长度为n的数列,你m次机会可以给连续的w个元素加1,问你最后能的到的数列里最小值的最大值是多少思路最小值最大,肯定是二分,如何验证答案?我们从左向右扫,第一个不满足mid的位置就加到mid,从他向后的w个位置相应也要+(mid-h[i])这么多,听起来是一个优秀的n2n^2n2做法?想一想优化,发现区间加值,貌似可以差分一下?用一个变量s,每次进入for之后先+=d[i],...

2018-10-17 09:04:13 269

原创 Codeforces626C Block Towers

二分答案题意你要找n个2的倍数,m个三的倍数,但是一个数是6的倍数就只能算一次,求最后出现的最小的数是多少思路让求一个最大值最小,所以我们用二分,如何判断当前答案是不是合法呢?发现当前数字若小于2∗n2*n2∗n或者小于3∗m3*m3∗m那么肯定不可行,还有哪种情况不可能?x/2+x/3这是x以内2的倍数与三的倍数的个数和,x/6是x以内6的倍数,显然x/6会被算两遍,所以m+n会小于等于...

2018-10-17 08:00:15 193

原创 BZOJ4590&&洛谷P4343[SHOI2015]自动刷题机

二分答案看到有最大值最小最小值最大这类关键词一般就是二分了先二分一个上界,判断可行,再二分一个下界判断可行代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define l...

2018-10-17 07:46:18 252

原创 POJ 3122 4 Values whose Sum is 0

双指针?题意有四个数集,问你从每个集合里拿一个数出来,总和是0的方案数思路我们n2n^2n2的计算出a+b的值s1,c+d的值s2,然后把s1从小到大排序,s2从大到小排序,然后按顺序枚举s1中的值,发现他在s2中的对应值具有单调性,也就是说,在s1中存在a1,a2,在s2中存在b1,b2,b3,满足a1<a2,b1>b2>b3,若a1+b1>0,那么a2+b1肯定...

2018-10-16 20:33:51 172

原创 POJ3122 PIE

二分题意你有n个蛋糕,你有m个基友,你们m+1个人要激情分蛋糕,问每个人能均分到的最大面积是多大,一个人的蛋糕只能从一个大蛋糕上割下来做法二分一个最大的rr,最后再乘一个M_PI就行了,验证直接用每个蛋糕的rr/mid下取整,看个数是不是>=m+1代码//By AcerMo#include<cmath>#include<cstdio>#include...

2018-10-16 19:06:26 225

原创 BZOJ1293&&洛谷P2564[SCOI2009]生日礼物

单调队列貌似是这个我们按照位置排序后,将每个位置依次加到队列里,然后判断是不是最早出现的点到这个点之间有所有种类的珠子,有的话向右移动左端点,不断更新答案,直到珠子种类少于总数为止代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream&gt...

2018-10-15 21:25:31 204

原创 BZOJ1452[JSOI2009]count&&洛谷P4054[JSOI2009]计数问题

二维树状数组求前缀和裸题不能再裸啦!具体过程对于每个修改,暴力在树状数组上修改就好,对于询问,根据二维前缀和的性质{i,k}{j,l}的前缀和=s[j][l]−s[i−1][l]−s[j][k−1]+s[i−1][k−1]=s[j][l]-s[i-1][l]-s[j][k-1]+s[i-1][k-1]=s[j][l]−s[i−1][l]−s[j][k−1]+s[i−1][k−1],然后用树状...

2018-10-12 15:34:19 269

原创 BZOJ3208花神的秒题计划

记忆化搜索暴力模拟即可每次保护或撤销或改变海拔就暴力修改,然后对于询问,记忆化搜索一下就好了代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace ...

2018-10-12 15:06:01 231

原创 SPOJ GSS4 洛谷P4514上帝造题的七分钟&&[树状数组进阶]

树状数组大法好讲这道题之前先讲点进阶内容一维树状数组的区间修改+区间求和不会树状数组入门知识的->出门左转不会树状数组单点修改的->出门右转好了,现在留下的都是奆佬我们先讲一下区间修改根据之前单点修改,区间求和的思想,发现差分数组非常有用,那么我们不难发现一个有趣的性质,对于差分数组d[i],原数组a[i],存在a[i]=∑k=1id[i]a[i]=\sum\limits...

2018-10-12 11:11:00 233

原创 BZOJ3211&&洛谷P4145 上帝造题的七分钟2/花神游历各国

思维题树状数组+并查集维护思路发现最大数101210^{12}1012开根号最大也就开1012−>106−>103−>31−>5−>2−>110^{12}->10^{6}->10^3->31->5->2->11012−>...

2018-10-12 07:51:26 261

原创 BZOJ2431&&洛谷P2513[HAOI2009]逆序对数列

while (1) puts(“DP神题”)初始思路发现按顺序加数的话,这个数只会对其他人产生影响,并不会有大于他的数出现,最多可以出现min(i-1,m)个逆序对,所以一个显然的递推式f[i][k]=∑j=0min(k,i−1)f[i−1][k−j]f[i][k]=\sum\limits_{j=0}^{min(k,i-1)}f[i-1][k-j]f[i][k]=j=0∑min(k,i−1)​...

2018-10-11 20:34:32 261

原创 洛谷P2113 看球泡妹子

DP神题思路清奇我直接不管妹子,骗了90分,(滑稽思路我们定义f[i][j][k]f[i][j][k]f[i][j][k]表示选到了i场比赛,第i场比赛要看第j场比赛 ,妹子的满意度是k时,他能得到的最大满意度,然后跑个类似背包的东西就好了,出题人真是丧病良心啊代码//By AcerMo#include<cmath>#include<cstdio>#inc...

2018-10-11 19:20:04 271

原创 洛谷P3609 [USACO17JAN]Hoof, Paper, Scissor蹄子剪刀

DP大法好dp思路定义f[i][j][1/2/3]f[i][j][1/2/3]f[i][j][1/2/3]表示dp到第i位,变了j次,当前是石头/剪刀/布的最大胜出局数,转移的话就在max(f[i−1][j][k],f[i−1][j−1][e!=k])max (f[i-1][j][k] , f[i-1][j-1][e!=k])max(f[i−1][j][k],f[i−1][j−1][e!=k...

2018-10-11 15:03:50 203

原创 Codevs 1288 埃及分数

搜索好题IDFS实现过程IDFS(int dep,lli a,lli b)限制深度之后,从小到大枚举每个数,然后因为要求字典序最小,所以当前层要大于上一层的数,到最后一层后判断剩下的部分能不能写成最简分数,能写就可以回溯了剪枝1:因为我们每次从剩余的分数里减去枚举的数,所以就会剩下 (ai−b)(b∗i)\frac{(ai-b)}{(b * i)}(b∗i)(ai−b)​所以分子不能小于...

2018-10-11 11:28:21 300

原创 洛谷P2578 [ZJOI2005]九数码游戏

搜索好题!一个有 神器 神奇操作的八数码直接逆向BFS,对于每种状态,判重and记录扩展到他的id,以及给他一个id,搜到输入的局面后,倒序输出就行了代码#include<queue>#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#in...

2018-10-10 21:05:42 382

原创 洛谷P4503 [CTSC2014]企鹅QQ

某种神奇的HASH这个hash貌似是叫RK-Hash,和普通的hash不一样的是他可以O(1)的计算字串的hash值,操作上也有很大区别操作?普通的hash是一次计算,最后只保留了一个字符串的hash值,但是这种hash是将每个串的每一个前缀的hash存起来,也就是说存到一个二维数组里,hsh[i][k]表示第i个串到第k位时的hash值,看起来没有什么用,但是看下面这个神奇操作:给定两个串...

2018-10-08 19:45:01 243

原创 洛谷P2346四子连棋

搜索好题啊迭代加深DFS我个人比较喜欢叫IDFS讲一下搜索大体思路发现最终移动步数应该会很少,毕竟八数码都能过,所以选了这个迭代加深的dfs,就是通过限制一次dfs的深度,来保证你的搜索不会在搜到底或找不到解的情况下返回,他会以lim的深度限制,把这个深度能到的点都搜出来,判断可行,画成图的话会发现这种搜索就像是结合了BFS与DFS,既有广度也有深度实际操作分成两次迭代加深,第一次从白...

2018-10-08 14:32:26 324

原创 字符串哈希[hash模板]

有这么一类神奇的问题,给你一堆字符串,然后问你有多少本质不同的字符串~~ 或许有头铁的同志可以开一个map ~~所以有了hash大法大致思想我们判断两个字符串相等,无非就是判断他们每一位是不是相等,但是如果让你判断两个数字是不是相等,是不是就简单了许多呢?答案是显然的,hash的大致思想也在这里,把字符串表示成一个数字,然后判断是不是想等,然后于是同学们有疑问了,"怎么转成数字,听着容...

2018-10-08 09:24:42 546

原创 洛谷P3029 [USACO11NOV]牛的阵容Cow Lineup

STL大法好&&双指针大法好双指针是一个玄学的东西总的来说就是用一个变量l指在一个左端点,然后用一个变量r向右扩展直到符合要求的区间的条件为止,这玩意貌似也叫尺取法??这道题数据范围hin大怎么办?用map离散化一下就好了具体实现我们读入的时候,用map记录每个出现的种类,记录总数cnt然后我们需要按下标排个序,然后再开始圈答案然后下面用双指针,从l=1,r=1开始 ...

2018-10-02 19:55:06 331

原创 洛谷P1831 杠杆数

数位DP区间求符合条件的数的个数,不出意外应该是记搜大法好了2333我们枚举平衡点,然后最后判断两侧数是否相等就行了我们定义dfs(int p,int w,int s,bool j,bool z)分别表示第p位,平衡点在第w位,当前和为s,是否有数位限制,是否有前导零然后我们就可以大力搜索了,s的更新是s+(p-w)*i发现平衡点两侧的p-w符号不同,然后剪枝,当s<0时,retu...

2018-10-02 19:15:31 369

空空如也

空空如也

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

TA关注的人

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