百度2015春季实习生招聘附加题
输入描述:
第一行是一个正整数T(1<=T<=20),表示有T组测试数据。 对于每组数据—— 第一行是三个数n,bot,top,n代表食堂数1<=n<=10),bot是这次吃饭的最低消费,top是这次吃饭的最高消费(0<=bot,top<=10000) 接下来依次是n个食堂的信息,对于第i个食堂 第一行是一个数m[i](o<=m[i]<=100),代表第i个食堂的食物数 第二行有2*m[i]个数,分别是c[i][1],v[i][1],c[i][2],v[i][2],……c[i][m[i]],v[i][m[i]] c[i][j]表示第i个餐厅第j种食物的价钱,v[i][j]代表第i个餐厅第j种食物给度度熊带来的享受度。
输出描述:
对于每组数据,请输出一行,每行一个正整数。表示度度熊所能获得的最大享受度。 数据结果保证不会超过2^31-1.
输入例子:
2 2 10 20 5 1 1 2 1 5 1 10 1 20 1 5 1 2 2 2 5 2 10 2 20 2 2 10 10 1 5 1 1 5 1
输出例子:
8 0
01背包应用!
对每个食堂,做01背包,然后取最大的。
这里是区间[bot,top],所以我们可以通过背恰好重量的东西来解决!
#include<stdio.h>
#include<algorithm>
#include<string.h>
#define LL __int64
using namespace std;int main()
{int T,n,bot,top;scanf("%d",&T);while(T--){scanf("%d%d%d",&n,&bot,&top);int m;int c[105],v[105];int ans=0,tmp;for(int i=0;i<n;i++){int f[10005];//初始化memset(f,-1,sizeof(f));f[0]=0;scanf("%d",&m);for(int j=0;j<m;j++){scanf("%d%d",&c[j],&v[j]);}for(int k=0;k<m;k++){for(int vv=top;vv>=c[k];vv--){if(f[vv]<f[vv-c[k]]+v[k]&&f[vv-c[k]]>=0)//满足恰好背的情况{f[vv]=f[vv-c[k]]+v[k];}}}for(int k=bot;k<=top;k++){ans=max(ans,f[k]);}}printf("%d\n",ans);}return 0;
}
我在做的时候,是记录背包的实际重量来想的。
#include<stdio.h>
#include<algorithm>
#define LL __int64
using namespace std;int main()
{int T,n,bot,top;scanf("%d",&T);while(T--){scanf("%d%d%d",&n,&bot,&top);int m;int c[105],v[105];int ans=0,tmp;for(int i=0;i<n;i++){int f[10005]={0},w[10005]={0};scanf("%d",&m);for(int j=0;j<m;j++){scanf("%d%d",&c[j],&v[j]);}for(int k=0;k<m;k++){for(int vv=top;vv>=c[k];vv--){if(f[vv]<f[vv-c[k]]+v[k]){f[vv]=f[vv-c[k]]+v[k];w[vv]=w[vv-c[k]]+c[k];}}}for(int k=bot;k<=top;k++){if(w[k]>=bot&&w[k]<=top) ans=max(ans,f[k]);}}printf("%d\n",ans);}return 0;
}
第二题:
输入描述:
输入数据第一行是一个正整数T(T<=100),表示有T组测试数据; 接下来的T行,每行给出01串。 数据保证—— 50%的字符串长度在[1,100 ] 95%的字符串长度在[1,10000] 100%的字符串长度在[1,1000000]
输出描述:
对于每组测试数据,请输出排成“非递减有序序列”的最小交换次数。 每组输出占一行。
输入例子:
3 01 10 110
输出例子:
0 1 1
这题思路很简单,就是统计长度为n里有cnt个0,并记录0的位置,从最后一个0开始往前找,如果大于等于cnt,ans++表明,这个0,需要移动!特判全0和全1的情况!
#include<stdio.h>
#include<string.h>char ch[1000005];
int div[1000005];
int main()
{int T;scanf("%d",&T);getchar();while(T--){gets(ch);//puts(ch);int cnt=0;int len=strlen(ch);for(int i=0;i<len;i++){if(ch[i]=='0') div[cnt++]=i;}// printf("%d\n",cnt);if(!cnt||cnt==len) {printf("0\n");continue;}int ans=0;for(int i=cnt-1;i>=0;i--){if(div[i]<cnt) break;if(div[i]>=cnt) ans++;}printf("%d\n",ans);}return 0;
}
百度2015春季实习生招聘附加题相关推荐
- 2015春季实习生招聘 多益网络科技有限公司笔试+面试 游戏开发工程师
很早就在官网上投了简历,简历投递之后就是在线测评,主要是智力测试题,很多图形逻辑题,不是我擅长的,个人感觉难度偏大. 之后就是接到一笔通知,周六下午在大学生活动中心,大概两三百人的样子,估计在线测评, ...
- 2017春季实习生招聘阿里面试题(一)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/60875729冷血之心的博客) 2017春季实习生招聘阿里面试题(二 ...
- 网易2019实习生招聘算法题(一)
网易2019实习生招聘算法题(一) 题目 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬. 牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作. 牛牛的小伙伴太多了,于是 ...
- 网易2019实习生招聘编程题集合
前言 利用周末时间做了这套网易2019实习生招聘编程题,链接如下: 题目链接 成绩 先来看一下博主的成绩,打了67分,完全做对了4道题,另外的4道题中1道题完成了80%,1道题完成了30%.评价一下就 ...
- 网易2019实习生招聘编程题集合 矩形重叠
网易2019实习生招聘编程题 矩形重叠 题目链接:https://www.nowcoder.com/test/9763997/summary [编程题] 矩形重叠 时间限制:1秒 空间限制:32768 ...
- 2015华为实习生招聘机试题长沙站
5月21日中午接到了华为实习生招聘机试的短信通知,早上8:50要赶去湖南大学,虽然并不远,但还是很累有木有.差一点就不想去了,还好后来抱着学习的态度还是过去了.到了湖大信息院之后很快搞清楚了状况,原来 ...
- 【内推】阿里集团2015年实习生招聘
在去年一年里内推了很多应届毕业生,有实习的也有全职的校招内推,在实习内推和全职内推中各拿到了一个pad mini内推大奖(感谢去年的各位小伙伴,你们太给力了).今年继续给各位同学进行校招内推,有要找阿 ...
- 网易16年春季实习生招聘的一道算法题
参加了2016网易实习生的笔试,很遗憾没有通过,可能自己的知识面不够广,有道算法题的解法总结下吧. 题目如下: 小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同 ...
- 2017百度实习生招聘算法题
题目一:[编程题] 单词接龙 拉姆刚开始学习英文单词,对单词排序很感兴趣. 如果给拉姆一组单词,他能够迅速确定是否可以将这些单词排列在一个列表中,使得该列表中任何单词的首字母与前一单词的为字母相同. ...
最新文章
- python初学者web还是爬虫-python 爬虫《从入门到放弃》
- 扫描仪图标无法显示计算机,win7“我的电脑”中不显示扫描仪和摄像头的原因和解决方法...
- 一个好用的 SAP UI5 本地打包(build)工具,自动生成Component-preload.js
- AUTOSAR从入门到精通100讲(125)-详解车载网络 OTA系统的开发
- 解决 idea 中 jsp 修改后页面不生效
- vue-cli 使用Mint-UI
- 公司部分断电,这些人就没法干活?
- 【C语言进阶】C语言实现通讯录(简易版)
- 2017年电力职称计算机考试题,2017年职称计算机考试Excel试题(1)
- Closeness Centrality的计算方法
- MySQL数据库体系 全面梳理(漂亮简洁的思维导图)
- centos7输入ifconfg找不到ens33/eth0网卡信息,且service network restart重启网络失败
- ppt在线转换成pdf
- 帐号激活与忘记密码 实例
- 软件测试app内存溢出,浅析软件测试人员如何对JVM进行内存溢出检测
- HDU - 2033 人见人爱A+B
- Woaw Gallery中环和湾仔空间呈献国际艺术家群展
- 用于编辑计算机程序的语言是,编辑语言
- nexus 7 2代 linux6,大饱眼福: Nexus 7二代全拆解
- Vue3 +TypeScript 引入 BabylonJs(Vue3实现3D)【一篇文章精通系列】
热门文章
- Flink 实战 | 贝壳找房基于Flink的实时平台建设
- [乐意黎转载]关于泸西县弯腰树村委会经济社会发展思路调研报告
- 贾跃亭要回国圆“造车梦”?FF关联公司广州拿地601亩
- linux 修复磁盘 只读,服务器磁盘只读修复过程
- Unity小技巧——延时销毁GameObject
- Redis 的安装和基本操作
- protocols 协议
- webpack打包时出错:ERROR in index.js?c20a42392c6d1abf69df from UglifyJs Unexpected token: punc (()
- 做好站外推广之论坛推广的技巧
- 《Mysql是怎样运行的》读书笔记之连接的原理