首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
【[Offer收割]编程练习赛10 B】出勤记录II
】的更多相关文章
【[Offer收割]编程练习赛10 B】出勤记录II
[题目链接]:http://hihocoder.com/problemset/problem/1482 [题意] [题解] 递推题. 每次增加3个字符中的一个;然后根据下面这个数组递推; 递推方式看程序 //边界f[1][0] = 1,f[1][2]=1,f[1][6] = 1; //f[i][0]最后一个字符是'O',没有'A' //f[i][1]最后一个字符是'O',有一个'A' //f[i][2]最后一个字符是'L',连续1个L,没有'A' //f[i][3]最后一个字符是'L',连续2个…
hihocoder [Offer收割]编程练习赛14 可疑的记录
题目3 : 可疑的记录 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi有一棵N个节点的树,编号1-N,其中1号节点是整棵树的根.他把这棵树的N-1条边记录成N-1行,每行2个整数a和b,表示a是b的父节点. 喜欢恶作剧的小Ho在小Hi的记录里加了一行两个整数,于是小Hi不得设法找出这行可疑的记录.具体来说,如果去掉某一行之后,余下N-1行按小Hi的规则(a是b的父节点)恰好能构成一棵N个节点的树,并且满足编号恰好是1-N且1号节点是根,那么被去掉的一行就被视…
【[Offer收割]编程练习赛10 C】区间价值
[题目链接]:http://hihocoder.com/problemset/problem/1483 [题意] 中文题 [题解] 二分最后的答案; 二分的时候; 对于每一个枚举的值x; 计算小于等于它的值(对应了若干个区间,且这些区间里面,每一个区间的价值(相同对数)都小于等于x)的区间个数ju; 如果ju>=k,则可以再变小一点,同时先记录ans=mid,否则数字变大一点; 计算小于等于x的区间个数; 可以用尺取法; 如果 l..r这个区间的值是符合要求的即区间价值≤x; 则 l+1..r…
hihocoder offer收割编程练习赛10 C 区间价值
思路: 令v[l, r](0<= l <= r < n)表示区间[l,r]的价值,则长度为n的区间的价值最少为0,最多为n*(n-1)/2.整体对价值二分,求能满足sum{v[l, r](0<= l <= r < n) <= val} >= k的最小的val即为第k小的区间价值. 在统计满足条件的区间个数的时候,可以用动态规划,令dp[i]表示v[0, i],则 dp[i+1] = dp[i] + {0~i-1位置a[i]出现的次数},再利用尺取法在迭代的过…
hihocoder [Offer收割]编程练习赛4
描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望选择若干道不同的菜品,使得总价在不低于X元的同时尽量低. 你能算出这一餐小Ho最少消费多少元吗? 输入 第一行包含两个整数N和X,(1 <= N <= 20, 1 <= X <= 100) 第二行包含N个整数A1, A2, ..., AN.(1 <= Ai <= 100)…
hihocoder [Offer收割]编程练习赛61
[Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素,从小到大放在队列中,再把b按顺序放入另一个队列中,每次取出两队列中较小值即可. #include<bits/stdc++.h> using namespace std; typedef long long ll; ]; queue<int>q1, q2; vector<int&g…
[Offer收割]编程练习赛46
[Offer收割]编程练习赛46赛后题解 A.AEIOU 分析…
[Offer收割]编程练习赛9,10
题目1 : 闰秒 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 计算机系统中使用的UTC时间基于原子钟,这种计时方式同“地球自转一周是24小时”的计时方式有微小的偏差.为了弥补这种偏差,我们偶尔需要增加一个“闰秒”. 最近的一次闰秒增加发生在UTC时间2016年的最后一天.我们在2016年12月31日23时59分59秒和2017年1月1日0时0分0秒之间增加了这样一秒:2016年12月31日23时59分60秒,记作2016-12-31 23:59:60. 目前一共…
【[Offer收割]编程练习赛14 C】可疑的记录
[题目链接]:http://hihocoder.com/problemset/problem/1507 [题意] [题解] 如果多出来一个的话; 某个人的父亲节点就会变成两个 找到有两个父亲节点的人就好; 这张图有强制1号节点为根节点,且有强制父亲节点和儿子节点的层次关系; 所以不能按照找环的思路来做; 另外如果1号节点有父亲节点,则直接输出那条边就好; [Number Of WA] 4 [完整代码] #include <bits/stdc++.h> using namespace std;…
HihoCoder1670 : 比赛日程安排([Offer收割]编程练习赛41)(模拟)
描述 H国编程联赛中有N只队伍,编号1~N. 他们计划在2018年一共进行M场一(队)对一(队)的比赛. 为了让参赛队员能得到充分的休息,联赛组委会决定:每支队伍连续两场比赛之间至少间隔一天.也就是如果A队1月1日参加了一场比赛,那么下一场比赛最早安排在1月3日. 给定M场比赛的时间和参赛的两支队伍,请你判断这个日程安排是否可行. 输入 第一行包含一个整数T,代表测试数据组数.(1 ≤ T ≤ 10) 对于每组数据,第一行包含两个整数N和M.(1 ≤ N ≤ 50, 1 ≤ M ≤ 1000)…