vijos
STcyclone
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VIJOS 1278 My Story Your Song-雨天
题意简述在前n个正整数中选取m个数ai,使得1/ai之和为X/Y分析HNOI的一道题 《彩票》 直接n选m的搜索,加上可行性剪枝(继续选总和一定小于或大于X/Y)似乎就可以过了 但是时间效率不太理想尝试了2个优化: 1预处理1/i 减少实数运算 2先dp一下前n个数选m个hash值为p是否可行 在搜索时发现当前hash值不可行就直接剪枝这2个优化效果都比较显著 优化2更是将效率提升为原创 2016-06-27 23:25:51 · 741 阅读 · 0 评论 -
VIJOS 1547 逆转,然后再见
题意简述有3部车在k个城市间旅游,每次只能移动一部车,去第k个城市的前提是前k-1个城市都去过。 求旅行完k个城市的最短距离分析将状态表示出来,直接dp即可 记f[a,b,c]表示三部车分别在a,b,c城市的最短距离(a>b>c) 那么枚举每个可行状态,更新f[a+1,b,c],f[a+1,a,c],f[a+1,b,c]即可代码#include<cstdio>#define fo(i,a,b原创 2016-06-27 23:08:07 · 1022 阅读 · 0 评论 -
VIJOS 1516 N连环
题意九连环应该都知道吧! (1)第 1 环可以自由上下 (2)而上/下第 n 环时(n>1),则必须满足: (a)第 n-1 个环在架上 (b)前 n-2 个环全部在架下 为了让大家多学点知识,特改此题输入2个N连环的状态 保证环数小于等于100 第一行是初状态 第二行是末状态 输出一个数,需要的步数n(保证n不超过qword)分析九连环的数学模型实际上是格雷码我们用一串01串表示N原创 2016-06-27 22:55:14 · 759 阅读 · 0 评论 -
VIJOS1991 二人抓牌
刷水有益健康 很经典的题递推比记忆化搜索快很多 时间约缩短了60%设a[i]表示第i个数 sum(i,j)表示i~j的数之和 想到了2种dp状态设计 f[i][j]表示先手取i~j的数最多能获得多少价值 f[i][j]=max{a[i]+sum(i,j)-f[i+1,j],a[j]+sum(i,j)-f[i,j-1]} Ans=f[1][n] 需要用前缀和支持求sum(i,j) g原创 2016-05-07 22:49:40 · 1008 阅读 · 0 评论 -
VIJOS 1985 小h的妹子树一
题意简述给定n个节点组成的森林,需要支持两个操作 Q u v:询问泡u和v的最小代价 L u v:连接u和v 对于100%的数据,保证:1<=n<=100000,1<=操作个数m<=200000,1<=Vi<=1000分析对于询问,通过树上倍增计算就可以了对于连接操作,采取启发式合并 将较小的集合连接到较大的集合中去,然后暴力重构小集合的树以每个点为研究对象分析一个点被重构之后,其所在联通快原创 2016-05-18 00:15:51 · 643 阅读 · 0 评论 -
VIJOS 1999 小h的妹子树三
题意简述给定节点个数n和树高h(树根高为0),求出满足节点数位n,树高为h的二叉树的个数 答案对p取模,T组数据 对于100%的数据,满足1<=n<=1200,1<=h<=1200,1<=T<=2000000,1<=P<=1007。分析这题的数据范围提示我们要将所有询问预处理出来 而二叉树计数问题与卷积有着比较密切的联系,模数较小也提示我们这题正解很有可能就是FFT设有n个节点,高度为h的二叉原创 2016-05-18 00:04:52 · 3947 阅读 · 0 评论 -
VIJOS1986 小h的妹子树二
题意简述给定一棵有n个节点的树 n<=10^5需要支持2种操作 Q u v 询问从u到v路径上所有点的权值和 C u v 改变u的权值为v操作次数m<=2*10^5分析无脑树链剖分,然后直接用BIT维护就可以了但是这题的操作比较简单,有不需要树链剖分的方法吗..?树链剖分,顾名思义,将树上的链进行适当的剖分使得其能被数据结构高效的维护我们如果将操作对链的修改或对链的影响进行适当的转化,那么就不原创 2016-05-08 23:39:32 · 699 阅读 · 0 评论 -
VIJOS 1923 漫长的等待
题意简述给定n个数a[i] n<=10^5 1<=a[i]<=10^9 m次询问 m<=10^6 每次循环第l个数到第r个数之间,数的大小在[k,w]中的数的个数分析题目求的是一个二维区间和 二维树状数组? 然而n在10^5的数量级 时间与空间承受不了二维树状数组能同时支持询问和修改 然而这题套用二维BIT的话并不需要随时修改 使用二维BIT未免大材小用了再仔细分析题目 题目后原创 2016-05-08 23:06:37 · 1309 阅读 · 0 评论 -
VIJOS1420Valentine’s Seat
题目大意可以给排列成n+1行m+1列矩阵的椅子上色。其中,第一行所有的椅子都已上好粉红色,第一列从第2个开始的椅子都已上好天蓝色。对于其他的椅子,应保证,它的颜色和它左边的或上面的椅子颜色相同。求染色的方案数模19900801的值。分析通过画图或者打表,我们可以发现,最终矩阵肯定被分成2个色块,粉红色块位于矩阵右上方,天蓝色块位于矩阵左下方。每一种染色方案都一一对应于一条从n+1行m+1列的格点地图原创 2016-01-11 22:24:28 · 524 阅读 · 0 评论 -
VIJOS1456最小总代价
题目大意给定一个含有n个点完全连通图,每条边权值<=10000,求经过所有点各一次的路径的各边权值之和的最小值 n<=16分析经典的状态压缩dp问题 f[i][j]=x表示经过点的集合为i,最后一个经过的点为j时,当前最小总代价为x (集合状态可以用二进制表示) f[{j}][j]=0 f[i][j]=min{f[i-{j}][k]+a[k][j]}(i包含j和k,k!=j) 时间复杂度原创 2015-12-20 20:20:03 · 1435 阅读 · 0 评论 -
VIJOS1437 简单的口令
直接求原字符串最小表示法就行了原创 2015-12-13 22:38:23 · 771 阅读 · 0 评论 -
VIJOS1683有根树的同构问题
题目描述所谓图的同构是指两个图“相同”。图的同构有着广泛的应用,比如当要对一批图施行某种操作的时候,如果能发现其中有一些图是同构的,就可以在这些同构的图中只保留一个,从而降低工作量。例如,图1所示的T1和T3就是同构的。 图片 图的同构的定义:给出两个图G1=(V1,E1),G2=(V2,E2)。如果存在一个V1到V2的一一映射f,使得(x,y)是G1的边,当且仅当(f(x),f(y))是G原创 2015-12-20 11:44:50 · 1961 阅读 · 0 评论 -
VIJOS1413Valentine’s Present
题目描述今天是情人节,小杉已经想好了要给喜欢的人送一份特殊的情人节礼物。 礼物是n个颜色各异的箱子,每个箱子里装一个蛋糕,蛋糕是可以上色的。 一个可爱的上色方案应该满足如下条件: 1. 任意一个蛋糕上的颜色应与一个箱子相同(可以是装它的那个箱子的颜色)。 2. 任意开启一个箱子,按里面蛋糕的颜色打开对应的箱子,这两个箱子(也可以是同一个)里的蛋糕颜色相同。 小杉现在想知道总共有多少种可爱的原创 2015-12-20 13:51:29 · 841 阅读 · 0 评论 -
VIJOS1392拼拼图的小杉
题目大意给定n个数,将这n个数中的一些依次放进m个集合,每个集合中所有数的和不能超过T。集合包含的元素不能交叉,也就是说如果第1个数和第3个数放入了集合1,那么第2个数要么放入集合1,要么不放入任何一个集合。 求m个集合中最多能包含多少个数1<=n,m,T<=1000分析来源于题解中小岛的想法这题如果状态直接定义为f[i,j]=x表示前i个数放入j个集合最多能包含x个数 那么操作起来会比较困难,原创 2015-12-20 15:12:07 · 1368 阅读 · 0 评论 -
VIJOS1592不听话的机器人
题面DD 有一个不太听话的机器人,这个机器人总是会有自己的想法,而不会完全遵守 DD 给它的指令。 描述 现在 DD 在试图命令机器人走迷宫。迷宫是一个 N*N 个格子组成的区域,格子自左上角到右下角从 (1,1) 到 (N,N) 编号。第 i 行、第 j 列的格子编号为 (i,j)。迷宫中的某些区域是障碍物,机器人不能移动到那里。 DD 给了机器人 M 条指令,指令的类型包括“前进一步”“后原创 2015-12-19 23:37:51 · 1184 阅读 · 0 评论 -
vijos1656萌萌赶考
题目大意给定一个地图的起点和终点,地图上有一些点不能通过,问是否存在从起点出发到终点,经过每个点至多一次且路径长度恰好为t的路径算法分析很朴素的搜索,但是也是练剪枝的好题。1假设起点坐标为(sx,sy),终点坐标为(ex,ey),给定时间为t,那么如果满足(sx+sy+t)与(ex+ey),那么直接输出No,正确性显然2如果地图中可以经过的点的个数小于t,那么直接输出No3如果已经走到了终原创 2015-10-18 16:06:42 · 886 阅读 · 0 评论 -
VIJOS 1321 魔塔
题意在魔塔中有N个房间和M条道路,每条道路上有一个怪,它可以被一种特殊的武器消灭,而每个房间中也存在一种武器。现在知道第I个房间中的武器编号为I,小明(主人翁)初始在J房间,小明想知道哪些房间是他可以去的。 数据范围 1<=m<=50000,1<=a,b,J<=n<=50000 提示:m,n<50000不等于说数组可以只开到50000;输出前面无空格分析显然,一个房间在一个时刻能抵达,那么以后也原创 2016-06-27 23:41:18 · 1175 阅读 · 0 评论
分享