随笔分类 - DP
摘要:pro:有一个驴友,以及给定N个表演地点xi和时间ti,驴友的速度不能超过V。 问他在起点为原点和不设置起点的情况下分别最多参观多少个表演。 sol:BZOJ接飞饼见过;clari也在camp的DP专题讲过。 大概是解决这样一类问题,给定N个点,以及一种不等式关系,可以转化为二维平面上的点,然后按照
阅读全文
摘要:pro:给定N*M的矩阵,现在让你在每一行删去一个位置,然后形成新N*(M-1)的矩阵,问有多少种不同的新的矩阵。需要满足相邻行删去的位置不大于K。 (题目是01矩阵,其实任意矩阵都可以做,本题算法里只关心相邻的是否相同。 sol:dp[i][j]表示从上到下删,删到第i行,第i行删去第j列的不同矩
阅读全文
摘要:problem:给定N,K。表示你有数1到N,让你最多选择K个数,问有多少种方案,使得选择的数的乘积无平方因子数。N,K<500; solution:显然可以状压DP做,但是500以内的素数还是蛮多的,无法高效得DP。 但是我们注意到,大于sqer(N)的素数,同一类最多用一个,这不就是分组背包吗。
阅读全文
摘要:题意:给定一棵大小为N的点权树(si,pi),现在让你选敲好K个点,需要满足如果如果u被选了,那么fa[u]一定被选,现在要求他们的平均值(pi之和/si之和)最大。 思路:均值最大,显然需要01分数规划,但是后面怎么高效的做背包,我是不会的,我只会暴力的背包,O(N*K*K)。 还好队友会,叫“树
阅读全文
摘要:pro:给定N,M。输入N个物品,(si,vi)表示第i个物品体积为si,价值为vi,s<=300,vi<=1e9; N<1e6;现在要求,对于背包体积为1到M时,求出最大背包价值。 sol:显然直接跑背包会爆炸。 发现物品体积都比较小,我们先对相同体积的排序,对于体积相同的一起处理。 然后发现转移
阅读全文
摘要:题意:给出N个人,现在让你分P组,每组的工作效率是最小结束时间-最大开始时间,要求每一组的效率的正数,求最大效率和。N<1000 思路: 把包含至少一个其他的分到A组;否则到B组。 A组的要么单独分到一组,要么和它包含的某一个在一组(可以反证,假设已经分好组了,现在把不是单独分组的A加进去,如果分到
阅读全文
摘要:(由于先看的最后一题,然后又一直WA,导致这场有点爆炸,我背锅。 A .Fancy Antiques 题意: 选择最多k个商店,买n个物品,每个物品分别对应两个店售卖,求最小花费是多少。n<100,k=m<=40; 思路:搜索。。。。开始以为是个费用流,然后没法限制。加N多减枝,然后.... B.
阅读全文
摘要:题意:给定带点权边权的树,定义路径的花费=路径边权和e+起点点权w[s]*终点点权w[t]。N<2e5,e,w<1e6; 思路:首先,需要树分治。 然后得到方程dp[i]=min{ dis[i]+dis[j]+w[i]*w[j] },很显然需要斜率优化。 注意维护凸包的时候是需要保证w[j]是单调的
阅读全文
摘要:A .Regular Bracket Sequence 题意:给定“((” , “()” , “)(”, “))”四种,问是否可以组成合法括号匹配 思路:设四种是ABCD,B可以不用管,而C在A或者D存在时可以不考虑,然后就是A=D。 B .Discounts 题意:给定N个物品,Q次询问,每次询问
阅读全文
摘要:A .Little Pony and Expected Maximum pro:给定M,N,表示一个M面的骰子,甩N次,问出现的最大的数的期望。 sol:容斥,f(i)表示最大数<=i的期望,那么最大数=x的期望就是f(x)-f(x-1); B .Little Pony and Harmony Ch
阅读全文
摘要:本套题没有什么数据结构题,图论题,唯一有价值的就是Q题博弈,在最后面,读者可以直接拉到最下面。 (还剩下两个,估计每什么价值的题,懒得补了 M .Polyhedra pro:欧拉公式,V-E+F=2;给定V,E,求F sol:F=E-V+2; #include<bits/stdc++.h> #def
阅读全文
摘要:Valera is a coder. Recently he wrote a funny program. The pseudo code for this program is given below: Now Valera wonders: given the values x, k and p
阅读全文
摘要:昨天00.35的CF,4点才上床,今天打的昏沉沉的,WA了无数发。 题目还是满漂亮的。 尚有几题待补。 C .Complete Naebbirac's sequence 题意:给定N个数,他们在1到K之间,现在1到K的出现次数的不完全相同的,现在让你进行一次操作,使得他们相同。 操作是加一个数到集合
阅读全文
摘要:A .Assignments 题意:给定距离D,以及N个飞机的速度Vi,单位时间耗油量Fi,总油量Ci。问有多少飞机可以到达目的地。 思路:即问多少飞机满足(Ci/Fi)*Vi>=D > Ci*Vi>=Fi*D; #include<bits/stdc++.h> #define ll long lon
阅读全文
摘要:学习了“叙利亚”这个单词;比较温和的一场;几何的板子eps太小了,坑了几发。 A .Hello SCPC 2018! 题意:给定一个排列,问它是否满足,前面4个是有序的,而且前面4个比后面的都小。 思路:数据比较小,可以暴力,也可以用前面4个的最大值和后面的数字的最小值比较。 #include<bi
阅读全文
摘要:题意:有一个厨师,他买菜-做菜-买菜-做菜....-做菜,一共有N天,他的冰箱里只能有一个菜,在他做菜的第二天才会买菜,如果菜不做,放在冰箱里,每天新鲜程度会下降1。 第一天也会买菜,第i天的菜新鲜程度的Fi,厨艺是Ci,(厨艺会增长),要求这一天做的菜的新鲜长度大于等于Li。 思路:即dpi=ma
阅读全文
摘要:这几天睡眠时间都不太够,室友晚上太会折腾了,感觉有点累,所以昨天的题解也没写,看晚上能不能补起来。 B . Marbles 题意:给定N组数(xi,yi),玩家轮流操作,每次玩家可以选择其中一组对其操作,可以把它减去一个数,或同时减去一个数,当玩家操作后出现了(0,0)则胜利。 思路:注意这里是出现
阅读全文
摘要:Sample Input Sample Output 给定一个数字字符串S,如果一个数字字符串(只包含0-9,可以有前导0)中出现且只出现1次S,我们就称这个字符串是好的。 例如假设S=666,则1666、03660666是好的,6666、66、123不是好的;假设S=1212,则01212、121
阅读全文
摘要:描述 给定 n 根木棍,第 i 根长度为 ai 现在你想用他们拼成尽量多的面积大于 0 的三角形,要求每根木棍只能被用一次,且不能折断 请你求出最多能拼出几个 输入 第一行一个正整数 n 第二行 n 个正整数 a1 … an 1 ≤ n ≤ 15 1 ≤ ai ≤ 109 输出 输出最多能拼出几个三
阅读全文
摘要:Vasya is preparing a contest, and now he has written a statement for an easy problem. The statement is a string of length n consisting of lowercase La
阅读全文

浙公网安备 33010602011771号