hdu4907 水dp 或者set
题意:
给你一些被占用的时间点,然后有一些询问,每次输出大于等于询问时间的没被占用的最小的那个时间。
思路:
直接把所有用过的时间标记上,然后倒着更新一遍当前最小空余时间,或者用set做,两个都在下面写代码了,水题不解释了,直接看看代码就懂了。
#include<stdio.h> #include<string.h>#define N 200000 + 10 int dp[N] ,mark[N];int main () {int n ,m ,i ,a ,t;scanf("%d" ,&t);while(t--){scanf("%d %d" ,&n ,&m);memset(mark ,255 ,sizeof(mark));for(i = 1 ;i <= n ;i ++){scanf("%d" ,&a);mark[a] = 0;}int now = 200000+1;for(i = 200000+1 ;i >= 1 ;i --){if(mark[i]) now = i;dp[i] = now;}for(i = 1 ;i <= m ;i ++){scanf("%d" ,&a);printf("%d\n" ,dp[a]);}}return 0; }
#include<stdio.h> #include<set> using namespace std;set<int>my_set; int mk[110000];int main () {int i ,n ,m ,a ,t;scanf("%d" ,&t);while(t--){scanf("%d %d" ,&n ,&m);int max = 0;for(i = 1 ;i <= n ;i ++){scanf("%d" ,&mk[i]);if(max < mk[i]) max = mk[i];} my_set.clear();for(i = 1 ;i <= max + 1 ;i ++)my_set.insert(i);my_set.insert(1100000);for(i = 1 ;i <= n ;i ++)my_set.erase(mk[i]);for(i = 1 ;i <= m ;i ++){scanf("%d" ,&a);int ans = *my_set.lower_bound(a);if(ans == 1100000) ans = a;printf("%d\n" ,ans);}}return 0; }
hdu4907 水dp 或者set相关推荐
- RQNOJ 169 最小乘车费用:水dp
题目链接:https://www.rqnoj.cn/problem/169 题意: 给出行驶1-10公里的费用(所有车一样),可以倒车,问行驶n公里的最小费用. 题解: 大水题... (=´ω`=) ...
- HDU 1231 最大连续子序列:水dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231 题意: 给你一个整数序列,求连续子序列元素之和最大,并输出该序列的首尾元素(若不唯一,输出首坐标 ...
- Ural_1586. Threeprime Numbers (DP)
为什么别人感觉这是水dp而我总是被dp水呢?还是太弱了... 思路: 记录[100, 1000)范围内的所有的素数(是素数的每一位).然后从n = 4往后,定义dp[i][x2][x3], i表示到第 ...
- Hust oj 1861 猥琐宅男——koko(DP)
猥琐宅男--koko Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 180(74 users) Total Accepted: 79( ...
- UVa在线比赛单题汇总-----DP专题
动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...
- SSL 1055——能量项链_DP
Description 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠 ...
- 8.19noip模拟题
2017 8.19 NOIP模拟赛 by coolyangzc 共3道题目,时间3小时 题目名 高级打字机 不等数列 经营与开发 源文件 type.cpp/c/pas num.cpp/c/pas ...
- bzoj 4393 Usaco Fruit Feast
题目很明显的一道dp题目. 方程也不难推 dp[i][0]表示饱食度为i没喝水 dp[i][1]表示当前饱食度为i已经喝了水 #include <cstdio> #include < ...
- hdu-1003 Max Sum
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 题目: Max Sum Time Limit: 2000/1000 MS (Java/Other ...
最新文章
- 数据结构 判断单链表是否有环 C
- Windows计算器使用详解
- 成功解决Instructions for updating: Use `tf.global_variables_initializer` instead.
- 【NLP】创建强大聊天机器人的初学者指南
- 【收藏】deepin环境安装nodejs
- PyMC3和Lasagne构建神经网络(ANN)和卷积神经网络(CNN)
- 关于telnet的安装
- pat04-树4. Root of AVL Tree (25)
- Java--I/O输入输出流
- 领导叫我要好好带新人。。。
- 使用python进行re拆分网页内容
- 三种方法实现多级撤消/重做
- 状态码302怎么处理_HTTP状态码 201,202,302,405 ... 傻傻分不清,看这一个项目就够啦...
- 在同时使用animation和translate时,translate无效
- G代码在运动控制器上的应用
- snmpwalk工具使用
- Excel用数据透视表制作日历
- 大白菜u盘装win10步骤图解
- 2021-11-15 入门前端VScode必装的常用插件, HTML+CSS常用属性速记.
- 抚躬自问,我该怎样总结我的Q3?