随笔分类 - HDU
摘要:题意: 两只兔子,在一个由n块石头围成的环上跳跃,每块石头有一个权值ai。开始时两兔站在同一石头上(也算跳1次),一只从左往右跳,一只从右往左跳,两只同时跳,而每跳一次,两只兔子所站的石头的权值都要相等,在一圈内(各自不能越过起点,也不能再次回到起点)它们(单只兔子)最多能跳多少次(1 2->3-...
阅读全文
摘要:题意: 给出平面上的n个点,问任意点对之间的最短距离是多少?思路: 先将所有点按照x坐标排序,用二分法将n个点一分为二个部分,递归下去直到剩下两或一个点。对于一个部分,左右部分的答案分别都知道,那么可能的答案就是min(left_ans,right_ans) 。注意更小的点对可能一个在左,一个在...
阅读全文
摘要:题意: 有n个人在排队,按照前后顺序编号为1~n,现在对其中某两人的距离进行约束,有上限和下限,表示dis[a,b]=c,问第1个人与第n个人的距离最多可能为多少?(若INF则输出-2,若冲突则输出-1,否则输出距离)思路: 建图时都将约束转成a-ba的边,权为c。然后求最短路,注意最短路跑出来...
阅读全文
摘要:题意: 有n道题目,每道题目的初始分数为Ai,分数每分钟减少Bi,完成此题需要Ci分钟,问在t分钟内最多能获得多少分?思路: 好题~ 如果没有B的话,就是一道裸的01背包的题目了。每道题目的得分为:v=A-B*g (其中g为完成这道题目的时刻),想要用背包解的话是可以的,但是完成的次序不同的话...
阅读全文
摘要:题意: 有n本书,编号为1~n,现在书的顺序乱了,要求恢复成有序的样子,每次只能抽出其中一本并插到最前面,问最少需要多少抽几次?思路: 如果pos[i]放的不是书i的话,则书i的右边所有的书都必须抽出来。抽出来的书必定可以回到它最终的位置上,即每本书最多抽出来1次,可以想象抽出来后直接扔掉,在剩...
阅读全文
摘要:题意: 给一个n*m的矩阵,每个格子中有一个大写字母,一个机器人从‘F’出发,拾取所有的开关‘Y’时便能够越狱,但是每走一格需要花费1点能量,部分格子为充电站‘G’,每个电站只能充1次电。而且部分格子为障碍'D'或者空格‘S’。机器人在开始时电池是满能量的,问电池容量至少为多少可以越狱?(1 2...
阅读全文
摘要:题意: 给出n 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #define pii pair11 #define INF 0x3f3f3f3f12...
阅读全文
摘要:题意: 前面3/4的英文都是废话。将一个正整数看成字符串,给定一个k,问区间[L,R]中严格的LIS=k的数有多少个?思路: 实在没有想到字符0~9最多才10种,况且也符合O(nlogn)求LIS的特点,所以用状态压缩可以解决。 看到状态压缩的字眼基本就会做了,增加一维来保存当前LIS的状态。...
阅读全文
摘要:题意: 一个非负整数的十进制位是这样的(AnAn-1An-2... A2A1),定义F(x) = An* 2n-1+ An-1* 2n-2+ ... + A2* 2 + A1* 1。给出A和B,问[0,B]中有几个整数x的F(x)值 2 #include 3 #include 4 #inclu...
阅读全文
摘要:题意: 找出区间内平衡数的个数,所谓的平衡数,就是以这个数字的某一位为支点,另外两边的数字大小乘以力矩之和相等,即为平衡数。思路: 一开始以为需要枚举位数,枚举前缀和,枚举后缀和,一旦枚举起来就会MLE。 其实只需要3维[第几位][和][轴位置],对于轴的位置是需要枚举的,每个位都是有可能的,...
阅读全文
摘要:题意: 如果一个整数能被13整除,且其含有子串13的,称为"B数",问[1,n]中有多少个B数?思路: 这题不要用那个DFS的模板估计很快秒了。 状态设计为dp[位数][前缀][模13][是否含13],前缀这一维还是有必要的(由于只有前缀1和其他不同,所以也可以用01来表示是否前缀为1)。递归...
阅读全文
摘要:题意: 如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关: 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍; 给定一个区间[L,R],问在此区间内和7无关的所有数字的平方和。思路: 第一步好解决,只是数位DP的基础。第二步是十进制...
阅读全文
摘要:题意: 只要含连续的62,或者含4的车牌号码都是不吉利的,其他都是吉利的组合。问区间[L,R]中有多少个数是吉利的?思路: 依然是利用树(10进制是十叉树)的思想,统计左边所有子树有多少个数是吉利的。这道题得先打表,就是暴力打表都不会超时,否则可能超时了。暴力打表可以直接将0~106扫一遍直接找...
阅读全文
摘要:题意: 某校举行一场非诚勿扰,给定一个出场序列,表示n个人的屌丝值,如果他是第k个出场的,他的不满意度为(k-1)*diao[i]。为了让所有人的屌丝值之和更小,导演设置一个栈,可以将部分人装进栈中,来改变序列。也就是说,要么按照给定序列上场,要么将某个人前面部分人装进栈,让该人先出场,再让栈中的...
阅读全文
摘要:题意: 给出一个n个元素的序列,要求从中删除任一段长度为L的连续子序列,问删除后的LIS是多少?(ni]就是一段已经处理完成的序列,假设a[i+1]->a[i+L]这一段是将要删去的,那么将分成两段:a[0]->a[i]和a[i+L+1]->a[n]。 假设后一段以a[i+L+1]开头,而前段以...
阅读全文
摘要:题意: 给一个数字序列,要求找到LIS,输出其长度。思路: 扫一遍+二分,复杂度O(nlogn),空间复杂度O(n)。 具体方法:增加一个数组,用d[i]表示长度为 i 的递增子序列的最后一个元素,且该元素总是保持当前最小。初始化d[1]=A[i],当前LIS的长度len=1。从 2 to n...
阅读全文
摘要:题意: 给一棵n节点的树图,每个点都是一个小写字母,要求找到两个点(a,b),从a->b的路径上形成了一个字符串为s。给出s,问是否存在这样的点对。思路: 考虑一个点,要么从该点出发,要么在该点结束,要么它作为一个中间点将左右两个串连起来成为s。叶子只能是起点或者终点。在每个点中需要保存两个队列...
阅读全文
摘要:题意: 给定一个敌人的通信系统,是一棵树形,每个节点是一个敌人士兵,根节点是commander,叶子是前线,我们的目的是使得敌人的前线无法将消息传到commander,需要切断一些边,切断每条边需要一定的power,而我们有一台具有m点power的机器,问在使用此机器切断敌人通信系统的情况下,...
阅读全文
摘要:题意: 给定一棵树,每个节点代表一个员工,节点编号小的级别就小,那么点1就是boss了。接下来给出对m个点的限制,有3种符号分别是op=“大于/小于/等于”,表示以第i个点为根的子树所有人的工资之和大于/小于/等于x,要求判断m个限制是否冲突了。注意每个员工的工资下限是1,而无上限。ps:可能出...
阅读全文
摘要:题意:给定一棵n个节点的树,起点是1,终点是n,每经过一条边需要消耗Ti天,每个点上有一定量的珠宝,要求必须在t天内到达终点才可以将珠宝带出去,问至多能带多少珠宝?思路: 注意Ti可以为0,而且有可能t太小以至于不能到达n,则输出不可达。这样想会简单点,将"1->n"路径上的每条边断开,变成一片森...
阅读全文

浙公网安备 33010602011771号