Codeforces - 706B - Interesting drink - 二分 - 简单dp
https://codeforces.com/problemset/problem/706/B
因为没有看见 $x_i$ 的上限是 $10^5$ ,就用了二分去做,实际上这道题因为可乐的价格上限是 $10^6$ ,可以用复杂度为 $O(max(x_i))$ 的dp去做。
也就是说,当这道题的可乐数量上升,二分就容易超时,而可乐的价格上升则dp容易爆内存且超时。各有所长
#include<bits/stdc++.h> using namespace std; #define ll long longint a[100005];struct day{int idx;int coin;int cnt;day(int idx=0,int coin=0):idx(idx),coin(coin){} }d[100005];struct cmp{bool operator()(day &d1,day &d2){return d1.coin<d2.coin;} };struct cmp2{bool operator()(day &d1,day &d2){return d1.idx<d2.idx;} };int dp[100005];int main(){int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);int q;scanf("%d",&q);for(int i=0;i<q;i++){scanf("%d",&d[i].coin);d[i].idx=i;}sort(d,d+q,cmp());//d[0].cnt=upper_bound(a,a+n,d[0].coin)-a;for(int i=0;i<q;i++){d[i].cnt=upper_bound(a,a+n,d[i].coin)-a;//d[i].idx=i; }sort(d,d+q,cmp2());for(int i=0;i<q;i++){printf("%d\n",d[i].cnt);//d[i].idx=i; } }
2019-01-16
转载于:https://www.cnblogs.com/Yinku/p/10278777.html
Codeforces - 706B - Interesting drink - 二分 - 简单dp相关推荐
- codeforces 706B B. Interesting drink(二分)
题目链接: B. Interesting drink 题意: 给出第i个商店的价钱为x[i],现在询问mi能在多少个地方买酒; 思路: sort后再二分; AC代码: #include <ios ...
- Codeforces 41D Pawn 简单dp
题目链接:点击打开链接 给定n*m 的矩阵 常数k 以下一个n*m的矩阵,每一个位置由 0-9的一个整数表示 问: 从最后一行開始向上走到第一行使得路径上的和 % (k+1) == 0 每一个格子仅仅 ...
- hdu 3016 Man Down(简单线段树简单DP)
Man Down Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- hdu2067 简单dp或者记忆化搜索
题意: 小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- POJ1088:滑雪(简单dp)
题目链接: http://poj.org/problem?id=1088 题目要求: 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小.求可以滑落的最长长度. 题目解析: 首先要先排一 ...
- 【题解】hdu 3586 Information Disturbing 二分 树形dp
题目描述 Information Disturbing Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Jav ...
- 第三讲 数学与简单DP【完结】
目录 1205. 买不到的数目 [数学结论题] 1211. 蚂蚁感冒 [模拟 / 推理] 1216. 饮料换购 [简单 / 模拟] 2. 01背包问题 [板子题] 1015. 摘花生 [简单DP] 8 ...
- hdu 2881(简单dp)
题意:n*n的矩阵,里面有m个格子是有任务要去完成的,t,x,y表示要在第t秒到达(x,y)的格子完成任务,问你最多可以完成多少 解题思路:简单dp,将时间排个序后就是LIS #include< ...
- 洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)
P1800 software_NOI导刊2010提高(06) 标签 二分答案 难度 普及/提高- 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每 ...
最新文章
- 380万播放量,也许是全网最火的机器学习视频
- mysql 设置 0、1 用什么数据类型_MySQL索引的基本使用
- 《Android应用开发》——1.3节配置Eclipse
- 使用c#接入华为云-内容审核
- 就php干活,php可以做什么?,懂得这些技巧就够了
- app软件测试是否强制升级_这些测试方法对于任何软件都必须是强制性的
- 政府门户应该怎样建设?——解读中国政府网站绩效评估标准
- unicode编码对照表
- 微信投票刷票器手机免费版、手机微信投票作弊神器原理
- 数据中心 服务器管理规范,互联网技术详解 | 新时代数据中心管理标准Redfish
- Ubuntu 20.04美化及QQ、微信、ssh客户端安装
- C2:Unity3D制作智能家居设计软件——绘制户型(一)
- 主动学习、纯半监督学习与直推学习
- HTML两张图片翻转,canvas实现图片镜像翻转的2种方式
- Qt 6安装(qt6 测试在win7运行崩溃,不再支持win7)
- 【光通信】单模与多模区别
- CANopen协议学习
- 干货教程:如何把一张照片用PS做成漫画风格(附最新视频教程)
- python画图颜色填充_【Python】Matplotlib画图(十一)——箱线图
- 解决Kali linux安装后无法使用键盘输入
热门文章
- 从零开始springboot 第二讲
- 修改mysql编码方式
- php输出echo、print、print_r、printf、sprintf、var_dump比较
- Java基础知识强化53:经典排序之选择排序(SelectionSort)
- JavaScript 数组 array.at() 获取数组中最后一个元素
- flutter跨平台开发之App升级方案
- Flutter 开发应用第一个页面
- Ubuntu 的 bash和dash的区别
- sublime text3常用的一些快捷键
- 【知了堂学习笔记】数据库连接池简介,以及Eclipse中C3p0连接池的简单运用