题目链接:http://www.nowcoder.com/test/question/analytic?tid=1470549
[编程题] 今天要吃点好的!
加班了一个通宵的度度熊,神经有点恍惚,想到依然未能解决的Bug,眼泪禁不住霹雳哗啦往下掉……他抬头看了看帝都灰蒙蒙的天空,一咬牙,一跺脚,大叫一声——劳资今天要吃点好的! 已知本厂有n个食堂,第i(i属于[1,n])个食堂有m[i]种食物,每种食物有一个价钱c,享受度v,度度熊希望去一个食堂就餐,花费[bot,top]范围内的钱数(也可以拍桌子走人,哪里都不吃了),选择若干种食物,使得自己所能获得的享受度最大。(注意,度度熊还有一个挑食的特点,同一种食物他最多只会点一份。) 现在告诉你所有食堂食物的信息,希望你进行选择搭配,使得度度熊可以得到最大的享受度,并输出这个享受度的值。

输入描述:
第一行是一个正整数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;
}

第二题:

[编程题]01排序
给定一个01串(仅由‘ 0’或‘1’组成的字符串),现在想把这个数字串排序成“非递减”有序序列,请问至少需要多少次交换(任意两个位置交换)?

输入描述:
输入数据第一行是一个正整数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春季实习生招聘附加题相关推荐

  1. 2015春季实习生招聘 多益网络科技有限公司笔试+面试 游戏开发工程师

    很早就在官网上投了简历,简历投递之后就是在线测评,主要是智力测试题,很多图形逻辑题,不是我擅长的,个人感觉难度偏大. 之后就是接到一笔通知,周六下午在大学生活动中心,大概两三百人的样子,估计在线测评, ...

  2. 2017春季实习生招聘阿里面试题(一)

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/60875729冷血之心的博客) 2017春季实习生招聘阿里面试题(二 ...

  3. 网易2019实习生招聘算法题(一)

    网易2019实习生招聘算法题(一) 题目 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬. 牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作. 牛牛的小伙伴太多了,于是 ...

  4. 网易2019实习生招聘编程题集合

    前言 利用周末时间做了这套网易2019实习生招聘编程题,链接如下: 题目链接 成绩 先来看一下博主的成绩,打了67分,完全做对了4道题,另外的4道题中1道题完成了80%,1道题完成了30%.评价一下就 ...

  5. 网易2019实习生招聘编程题集合 矩形重叠

    网易2019实习生招聘编程题 矩形重叠 题目链接:https://www.nowcoder.com/test/9763997/summary [编程题] 矩形重叠 时间限制:1秒 空间限制:32768 ...

  6. 2015华为实习生招聘机试题长沙站

    5月21日中午接到了华为实习生招聘机试的短信通知,早上8:50要赶去湖南大学,虽然并不远,但还是很累有木有.差一点就不想去了,还好后来抱着学习的态度还是过去了.到了湖大信息院之后很快搞清楚了状况,原来 ...

  7. 【内推】阿里集团2015年实习生招聘

    在去年一年里内推了很多应届毕业生,有实习的也有全职的校招内推,在实习内推和全职内推中各拿到了一个pad mini内推大奖(感谢去年的各位小伙伴,你们太给力了).今年继续给各位同学进行校招内推,有要找阿 ...

  8. 网易16年春季实习生招聘的一道算法题

    参加了2016网易实习生的笔试,很遗憾没有通过,可能自己的知识面不够广,有道算法题的解法总结下吧. 题目如下: 小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同 ...

  9. 2017百度实习生招聘算法题

    题目一:[编程题] 单词接龙 拉姆刚开始学习英文单词,对单词排序很感兴趣. 如果给拉姆一组单词,他能够迅速确定是否可以将这些单词排列在一个列表中,使得该列表中任何单词的首字母与前一单词的为字母相同. ...

最新文章

  1. python初学者web还是爬虫-python 爬虫《从入门到放弃》
  2. 扫描仪图标无法显示计算机,win7“我的电脑”中不显示扫描仪和摄像头的原因和解决方法...
  3. 一个好用的 SAP UI5 本地打包(build)工具,自动生成Component-preload.js
  4. AUTOSAR从入门到精通100讲(125)-详解车载网络 OTA系统的开发
  5. 解决 idea 中 jsp 修改后页面不生效
  6. vue-cli 使用Mint-UI
  7. 公司部分断电,这些人就没法干活?
  8. 【C语言进阶】C语言实现通讯录(简易版)
  9. 2017年电力职称计算机考试题,2017年职称计算机考试Excel试题(1)
  10. Closeness Centrality的计算方法
  11. MySQL数据库体系 全面梳理(漂亮简洁的思维导图)
  12. centos7输入ifconfg找不到ens33/eth0网卡信息,且service network restart重启网络失败
  13. ppt在线转换成pdf
  14. 帐号激活与忘记密码 实例
  15. 软件测试app内存溢出,浅析软件测试人员如何对JVM进行内存溢出检测
  16. HDU - 2033 人见人爱A+B
  17. Woaw Gallery中环和湾仔空间呈献国际艺术家群展
  18. 用于编辑计算机程序的语言是,编辑语言
  19. nexus 7 2代 linux6,大饱眼福: Nexus 7二代全拆解
  20. Vue3 +TypeScript 引入 BabylonJs(Vue3实现3D)【一篇文章精通系列】

热门文章

  1. Flink 实战 | 贝壳找房基于Flink的实时平台建设
  2. [乐意黎转载]关于泸西县弯腰树村委会经济社会发展思路调研报告
  3. 贾跃亭要回国圆“造车梦”?FF关联公司广州拿地601亩
  4. linux 修复磁盘 只读,服务器磁盘只读修复过程
  5. Unity小技巧——延时销毁GameObject
  6. Redis 的安装和基本操作
  7. protocols 协议
  8. webpack打包时出错:ERROR in index.js?c20a42392c6d1abf69df from UglifyJs Unexpected token: punc (()
  9. 做好站外推广之论坛推广的技巧
  10. 《Mysql是怎样运行的》读书笔记之连接的原理