COGS 2507 零食店
http://www.cogs.pro/cogs/problem/problem.php?pid=2507
时间限制:1 s 内存限制:256 MB
【题目描述】
成功找到了学长之后学姐感觉到有些饿,于是决定去附近的零食店给自己和学长买些零食。
焦作市的有n家零食店,由m条道路连接着这些零食店,每条道路都有自己的长度l,每家零食店都有自己的消费指数。
由于学姐是个穷B,所以去买零食的路上不能经过某些消费指数超过一定限度的店。
同时由于学姐体力有限,所以去买零食的过程中走的路程不能太长。
想来想去学姐决定去问学长买什么零食比较好,反正到最后都是学长吃╮(╯_╰)╭
在去问之前,学姐准备先做好准备,她把焦作市(所有零食店)的地图给了你,希望你能编出一个程序快速回答她从某个零食店出发,在上述限制下有多少家零食店可供她挑选。
【输入格式】
第一行三个正整数n,m,q,分别代表零食店数,道路数和询问数。
接下来一行n个正整数,第i个正整数vi代表第i家零食店的消费指数。
接下来m行,第i行三个正整数x,y,l,代表第i条道路连接编号为x和y的两个零食店,长度为l。
接下来q行第i行三个正整数s,c,d,代表第i个询问要求从s出发,所经过的零食店的消费指数不能超过c(除了起点和终点以外),且行走路程不超过d。
【输出格式】
一共q行,第i行一个整数代表在第i个询问的要求下有多少家零食店可供学姐挑选。
【样例输入】
5 5 2 1 2 3 4 5 1 2 1 1 3 4 2 3 2 1 4 3 2 5 1 1 1 3 2 1 2
【样例输出】
2 3
【提示】
样例中第一个询问能去编号为2/4的零食店。
第二个询问能去编号为1/3/5的零食店。
对于40%的数据,n≤10,m≤20,q=1。
对于70%的数据,m≤500,q≤10000。
对于100%的数据,n≤100,m≤10000,q≤1000000,vi,c,d≤10^9,1≤x,y,s≤n,l≤10^6。
利用floyd 第一重循环k,所有中间点的编号都小于k
本体对消费指数的限制恰好是中间点
所以讲点按消费指数由小到大排序
f[k][i][j] 从i到j,中间经过的点的消费指数<=k的消费指数的最短路
当消费指数限制为v时,二分找到第一个消费指数<=v的点a,
从点u出发,就是在f[a][u][]里找最短路<=某个数的点的个数
排序之后二分即可
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int f[101][101][101],dy[101],a[101]; struct node {int cost,id; }e[101]; void read(int &x) {x=0; char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) { x=x*10+c-'0'; c=getchar(); } } bool cmp(node p,node q) {return p.cost<q.cost; } int main() {freopen("snackstore.in","r",stdin);freopen("snackstore.out","w",stdout);int n,m,q;read(n); read(m); read(q);for(int i=1;i<=n;i++) read(a[i]),e[i].cost=a[i],e[i].id=i;sort(a+1,a+n+1);sort(e+1,e+n+1,cmp);for(int i=1;i<=n;i++) dy[e[i].id]=i;int u,v,w;for(int k=0;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)f[k][i][j]=1e9+1;while(m--){scanf("%d%d%d",&u,&v,&w);u=dy[u]; v=dy[v];f[0][u][v]=f[0][v][u]=min(w,f[0][u][v]);}for(int i=0;i<=n;i++)for(int j=1;j<=n;j++)f[i][j][j]=0;for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)f[k][i][j]=min(f[k-1][i][j],f[k-1][i][k]+f[k-1][k][j]);for(int i=0;i<=n;i++)for(int j=1;j<=n;j++)sort(f[i][j]+1,f[i][j]+n+1);while(q--){scanf("%d%d%d",&u,&v,&w);v=upper_bound(a+1,a+n+1,v)-a-1;u=dy[u];w=upper_bound(f[v][u]+1,f[v][u]+n+1,w)-f[v][u]-1;printf("%d\n",w-1);} }
转载于:https://www.cnblogs.com/TheRoadToTheGold/p/7395897.html
COGS 2507 零食店相关推荐
- 大学生可以选择加盟零食店么
大学生可以选择加盟零食店么?现在大学年年都在扩招,但社会上相应的工作岗位却无法跟随扩招的速度,这就造成了大学生无法正常就业的难题.既然无法就业就要想办法自己创业,休闲食品行业就是如今比较适合大学自主创 ...
- 投资开零食店谨防零食多这个骗子
零食行业的繁荣发展,让其成为了投资市场上一个比较人们的行业,投资市场十分的火爆,目前,市场上出现了许多虚假的零食店加盟品牌,以虚假的信息,欺骗创业者,给创业者带来了很大的损失,零食多就是其中一个比较大 ...
- [noip测试]零食店(floyed+二分)
snackstore.in snackstore.out 时间限制:1 s 内存限制:256 MB 题目描述 成功找到了学长之后学姐感觉到有些饿,于是决定去附近的零食店给自己和学长买些零食. 焦作市的 ...
- 零食店收银管理系统哪个好
比如经营零食店的你,或多或少会出现以下这些情况: 散称混售.商品凑整.散称预包装对收银要求比较高; 自营店.加盟店较多的连锁门店,店铺分散面积广,采购配货必须经过统一的管理;门店会员基数大,但是无法维 ...
- 零食店用社群,2天吸引349人主动上门,收款63000元?
互联网发达的今天,人人都可以构建自己的社群,也应该学会建立自己的社群. 社群运营背后的目的基本都是"变现",从而获得实际的回报. 1场好的社群营销活动,背后都有1套完善的流程,既可 ...
- 计算机毕业设计 SpringBoot+Vue食商城系统 零食购物平台系统 网红零食店铺线上交易平台系统Java Vue MySQL数据库 远程调试 代码讲解
- 新鲜零食=零食“新”市场+用户“鲜”生活
文 | 陈小江 来源 | 螳螂财经(ID:TanglangFin) 这些天有点不一样. 几天前在螳螂财经读者群中,网友李霞(化名)跟大家吐槽说.在她楼下常逛的来伊份零食店中,接连几天都人数爆满,比往常 ...
- java毕业生设计晨光文具店进销存系统设计与开发计算机源码+系统+mysql+调试部署+lw
java毕业生设计晨光文具店进销存系统设计与开发计算机源码+系统+mysql+调试部署+lw java毕业生设计晨光文具店进销存系统设计与开发计算机源码+系统+mysql+调试部署+lw 本源码技术栈 ...
- 南京三只松鼠java_又出新模式?三只松鼠南京首家品牌集合店开业
距离2020年结束还有不到一周的时间!12月26日,南京首家三只松鼠品牌集合店落地虹悦城商场,赶在了小店2020年最后一批新开店,相较于以往有点"特别"的是,三只松鼠集团CEO章燎 ...
- 休闲零食加盟店项目该如何选择品牌?
休闲零食加盟店项目该如何选择品牌?这是每一个想致力于休闲食品行业的创业人最常问的一个问题.休闲食品行业是一个门槛较低.经营模式相对简单的行业,但由于市场上的零食品牌繁多,同行业休闲食品加盟店也是明争暗 ...
最新文章
- Android Training - 使用IntentService运行任务(Lesson 2 - 发送任务给IntentService)
- Spring Boot 启动载入数据 CommandLineRunner
- Linux安装及管理程序——RPM和yum学会装软件超简单
- 运行Jenkins部署任务
- 设计素材模板丨极简风简历模板
- jpa入门 ,引自csdn感觉写的很全面
- SpringBoot、mybatis、Druid结合使用存储emoji图标
- bzoj1113[Poi2008]海报PLA
- 画数轴的步骤_上分助手北师大数学七年级上册第二章有理数第二节数轴详细拆解...
- mac 向mysql输入 数据_(mac系统下)mysql 入门
- 自然语言处理的会议、论文集下载
- EXCEL表格复制到空白的EXCEL表格变形 解决方法
- 云服务器装桌面后怎么连接,云桌面具体的安装步骤是怎样的
- 微信图片去除马赛克_怎么给图片打上马赛克(模糊处理、涂抹)
- redis开启rdb和aof后文件正确恢复
- mysql infile ignore_mysql导入数据load data infile用法
- struts2最近量产漏洞分析
- MAXwell应用报错提问:
- FFMPEG学习【libavcodec】:编解码器:硬件加速器桥:VDPAU解码器和渲染器
- 国产半桥驱动IC屹晶微_EG2014_搭建H桥_立创eda
热门文章
- 最简单的java代码【java基本语法】
- 【优化求解】基于蝙蝠算法求解最优目标matlab源码
- 埃及金字塔之谜最完美的解释
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
- 2023考研王道计算机408数据结构+操作系统+计算机组成原理+计算机网络
- c语言math库正弦余弦函数
- 计算机人工智能专业大一新生入学前做点什么
- postSQL hash分表
- linux工作日志软件,Linux桌面日记本(RedNotebook)
- 流媒体传输协议浅析(三)可靠UDP传输方案