- 博客(25)
- 收藏
- 关注
原创 hdu 第七场 1013 M. Minimal and Maximal XOR Sum
赛时只想了想最小值,可以用多个代价为2的操作组成,最后结果为0或2,答案取决于逆序对个数。再根据样例猜猜最大值其实就有了,最大值的方向也很好猜,最大就是最高位与n相同,然后全1,然后再想一想应该就有了,但是不知道在干嘛。题意:给出一个n的排列,你可以对任意区间进行翻转,花费的代价是r-l+1。问,所以操作异或和的最小值与最大值分别是多少。对于不限制操作次数,但是对代价有要求的,而且是异或。所以应该想到通过等价操作,平白搞出来值用来异或,这应该是正常的思路。然后异或按位去思考,大概就是这样。
2023-08-09 01:26:21
122
原创 cf 852 D Moscow Gorillas
然后你要判断 pos[i+1]是否在该区间内,如果pos[i+1]在该区间内,那么MEX=i+1是没有合法区间的。如果不在该区间内,那么可以根据pos[i+1] 调整MEX=i+1的区间,然后计算合法的 [l,r] 对数。我们定义pos[i]表示i所在的位置,那么MEX=i+1 的最小区间为[min(pos[1],pos[2]...pos[i]),max(pos[1],pos[2]...pos[i])]以该数列为例,MEX=2的最大区间为【5,5】,那么【4,5】就是最小的MEX=3的区间。
2023-02-16 19:36:19
265
原创 XXII Open Cup. Grand Prix of Seoul E
XXII Open Cup. Grand Prix of Seoul E
2022-09-22 14:28:39
983
原创 洛谷p5149(字典树+逆序对)
P5149 会议座位 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)根据题意可以得到,题目要求的就是一个逆序对的问题。只要把排队后的数列求出来,再求一下逆序对就能解决问题了。因为名字是字符串,很容易想到字典树,用字典树求出数列,然后归并排序或者树状数组求一下逆序对就能得到答案了。#include#includeint cnt,nex[500010][60],f[500010],a[500010],b[500010];long long ans;vo...
2022-07-08 14:51:20
203
原创 单调栈模板【poj2559】
http://poj.org/problem?id=2559单调栈,就是具有单调性的栈。本题你只要维护栈的单调性即可。每个矩形入栈时,判断它的高度是否大于等于栈顶矩形的高度,如果满足,则直接入栈。否则就向前找,一边出栈一边记录宽度,计算面积。知道找到第一个不满足条件的位置,然后将当前高度入栈。#include<cstdio>#include<cstring>...
2018-10-25 15:31:29
397
原创 Tallest Cow【poj3263】
http://poj.org/problem?id=3263有n头牛,告诉了你最高的牛的位置和身高,并告诉你m个关系,a到b之间的牛都比a和b矮,求每头牛的最大身高。因为要求的是每头牛可能的最大身高,所以a,b之间的牛最高比a,b矮1,我们可以用一个数组,来记录这个身高差距。每次a到b之间的c[i]减一,最后的答案就是最高的牛的身高H-c[i]。但直接修改c数组的时间复杂度是nm的,这是我...
2018-10-23 15:21:35
228
原创 开关问题【Contest Hunter 0201】
题目给了T个5*5的01矩阵,你可以将该矩阵中任意位置的数0变1,1变0,在你改变该位置的数时,它的上下左右四个位置的数也会同时发生改变。问你能否6步及以内将该矩阵变为全1矩阵,如果能输出最少步数,否则输出-1。这道题一看好像毫无思路,但是你仔细想一想,会发现每个点最多被修改一次,不然就不优了。并且,我们在固定第一行后,第二行的状态就可以确定了,如果当前位置的上方为0,那么该位置必须被改变...
2018-10-22 19:42:30
244
原创 最短Hamilton路径【Contest Hunter 0103】
题目给了你一个n个点的带权无向图,编号为0~n-1,求0到n-1的最短Hamilton路(即0~n-1经过每个点有且仅有一次)由于n较小,但使用暴力还是明显要超时。所以可以想到用状压dp来做。f[i][j]表示当前经过点的状态为i(0表示未经过,1表示已经过),当前处于j点时的最短路径。#include<cstdio>#include<cstring>#inc...
2018-10-22 15:52:15
159
原创 LOJ10172涂抹果酱
https://loj.ac/problem/10172题目大意就是给了你n行m列的矩阵,让你给这个矩阵的每个格子染色,有1,2,3三种颜色可以选择。同时,必须满足任意两个相邻的格子的颜色不能相同。并且第k行已经完成了染色,无法被更改。求合法的染色方案数。这道题n的范围很大,但m的范围很小,所以很容易想到可以使用状压dp来求解。由于每一个点的状态有三种,所以要用三进制数来表示每一行的状态。...
2018-10-18 20:11:12
386
原创 LOJ10153 二叉苹果树
https://loj.ac/problem/10153题目大意就是给你一棵n个节点的带边权的树,让你留下q条边使留下的边的权值和最大。这种题目显然有最优子结构的特征,所以可以使用树形dp来解决该问题。f[i][j]表示以i为根的子树中保留j条边可以得到的最大价值易推出f[i][j]=max(f[i][j],f[i][j-k-1]+f[v][k]+a[i]) (v为i的儿子 0...
2018-10-16 14:11:51
186
原创 树的最长路径(直径)【codevs1814】
树的最长路径即树上的最远点对,也被称为树的直径。这可以用两遍dfs来求。第一遍dfs先任选一个点,找出离这个点最远的点maxd。该点必为最长路径上的一个端点(可以用反证法证明)再从maxd这个点出发再进行一次dfs就能找到另一个端点。#include<cstdio>#include<cstring>#include<cmath>#include&...
2018-10-16 08:59:12
846
原创 树的重心【poj1655】
定义树的重心也叫树的质心。对于一棵树n个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。数的重心求法其实非常简单,用到了简单的树形dp的思想。你只要进行一次dfs,一边求以当前节点为根的子树的节点数,一边统计出子树中最大的有max{f[j]}个节点(j为i的儿子)和i节点上方的子树大小为n-f[...
2018-10-15 15:36:31
156
原创 LOJ10066 新的开始
题目链接 https://loj.ac/problem/10066题解:这道题只是在普通的prim加了一个条件,就是可以直接花一定的代价直接到达这个点。这时候,我们只要再加一个点,这个点到其他的点的连边的值表示直接到达该点花费。然后再跑一遍prim就好了。#include<cstdio>#include<cstring>#include<cmath&...
2018-09-19 20:25:33
224
原创 LOJ10064黑暗城堡
题目链接 https://ajax.loj.ac/problem/10064题意:给你n个点,m条边,任意选边连接,保证连边后一号点到任意点的最短路和m条边全部连接后一号点到该点的最短路相同即为一种合法方案。统计方案种数并对2的31次-1取模。题解:这题,实在是比较玄学。我们先跑一边dijkstra,求出1号点到任意点的最短路。然后我们把dis值从小到大排序,然后运用prim的思想,进行...
2018-09-18 20:24:16
698
原创 数位DP bzoj1026
1026: [SCOI2009]windy数Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9854 Solved: 4561[Submit][Status][Discuss]Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,...
2018-07-18 09:58:02
174
原创 强连通分量
所谓强连通分量,就是在一个点的集合,从集合内的每一个点出发都能到达这个集合内的所有点。 在我看来,强连通的点集,就像一个环,而强连通分量最主要的运用也就是缩点。将这个强连通的点集缩成一个新的点。于是,整张图进行缩点之后,就会变成一张有向无环图。 接下来放道裸题1045: 明星奶牛时间限制: 1 Sec 内存限制: 128 MB提交: 82 解决: 43
2018-03-28 22:22:10
260
原创 多重背包二进制优化(wzk吃小鸡腿)
问题 B: WZK吃小鸡腿(chicken)时间限制: 1 Sec 内存限制: 128 MB提交: 53 解决: 23[提交][状态][讨论版]题目描述As is known to all,WZK很能吃小鸡腿,但他的胃毕竟有一个最大容纳值c,否则胃中小鸡腿的巨大引力场和lōng场叠加后会有很可怕的效果。在CZYZ的食堂一共有n种小鸡腿有卖,每种小鸡腿都有有限的个数、重量和让WZK...
2018-01-18 10:57:38
865
原创 饭卡
2022: 饭卡时间限制: 1 Sec 内存限制: 128 MB提交: 16 解决: 8[提交][状态][讨论版]题目描述电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食
2018-01-17 22:28:53
395
原创 最大连续和
2013: 最大连续和(mx)时间限制: 8 Sec 内存限制: 128 MB提交: 27 解决: 20[提交][状态][讨论版]题目描述一个长度为n数组A的最大连续和,是指所有满足1≤L≤R≤n的L和R中A[L]+A[L+1]+...+A[R]的最大值。一次交换操作是指:(1) 选择两个下标i和j(i ≠ j)(2)进行赋值,tmp=A[i];A[i]=A
2017-12-28 22:24:48
1796
原创 访问(最短路+搜索剪枝)
2247: 访问(deliver)题目描述给你一个n个顶点的邻接矩阵(图),以及每个顶点的访问时限,要求从顶点1开始,寻找一个访问序列,要求在每个顶点的访问时限之前访问,且每个顶点的访问时间之和最小输入第一行一个数n,2下面n行为一个n*n的邻接矩阵,其中的第i行第j列元素值为顶点i到顶点j之间的消耗时间(integer以内)。 最后一行为n
2017-12-19 19:10:26
550
原创 2017NOIP小结
2017noip结束,一切都挺好的,我的发挥也对的起自己两个星期的冲刺了。成绩什么的,其实我并不怎么看重了,让我感到喜悦的是看出了最后一道的算法并想到了优化(emm……这还要感谢一下lyy神犇),二分答案+DP,用单调队列优化,这对一个DP差的不行,从来没系统地学过二分答案的本蒟蒻来说已经是超常发挥了(虽然不会优化)。感谢这次noip让我重新找回了oi的乐趣,无论将来如何,我一定会坚定地走下去!我
2017-12-14 21:52:37
179
原创 2017NOIP前言
莫名其妙地混进复赛,模拟赛一脸懵逼,被八年级的神犇们吊着打,明天要考了,发现什么都不会……瞬间爆炸。稳住,最后一年普及了,且行且珍惜吧。
2017-11-10 20:48:16
186
原创 排座椅
1147 排座椅 2008年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold题解 查看运行结果题目描述 Description上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分
2017-10-28 00:02:39
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人