首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
【[Offer收割]编程练习赛10 C】区间价值
】的更多相关文章
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]出现的次数},再利用尺取法在迭代的过…
【[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收割编程练习赛11 B 物品价值
思路: 状态压缩 + dp. 实现: #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int INF = 0x3f3f3f3f; int t, n, m, s; ], S[], dp[][( << ) + ]; int dfs(int now, int s) { ) return dp[…
【[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收割]编程练习赛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…
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)…
[Offer收割]编程练习赛46
[Offer收割]编程练习赛46赛后题解 A.AEIOU 分析…
HihoCoder1672 : 区间问题([Offer收割]编程练习赛41)(贪心)
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定N个区间[Ai, Bi],请你找到包含元素最少的整数集合S,使得每个区间都至少有两个整数在S中. 例如给定三个区间[1, 3], [1, 4], [2, 5],则S={2, 3}. 输入 第一行包含一个整数N. 以下N行每行包含两个整数Ai, Bi. 对于30%的数据,1 ≤ N ≤ 1000 对于100%的数据, 1 ≤ N ≤ 100000 1 ≤ Ai < Bi ≤ 1000000 输出 输出一个整数代表S的…
【[Offer收割]编程练习赛11 B】物品价值
[题目链接]:http://hihocoder.com/problemset/problem/1486 [题意] [题解] 设f[i][j]表示前i个物品,每种属性的状态奇偶状态为j的最大价值; 这里用j的二进制对应每种属性的状态; 为1表示那种属性的物品个数为奇数否则为偶数 f[i][j] = max(f[i-1][j],f[i-1][j^zt[i]]+jz[i]); zt[i]是第i个物品拥有的属性的状态,jz[i]是第i个物品的价值 最后输出f[n][(1<< m)-1]就好; [Num…
[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. 目前一共…