2015年8月4日总结

今日试题

今天的题目真是反人类啊,王队出题果然不一样。
不说了,上题

1.RHL的背包 (bag.pas/c/cpp)
【问题描述】
CJ中学组织学生出去春游,作为学神的RHL自然不会放过这一大好时机,他有n种物品,第i件物品有c[i]个,每个体积为v[i],价值为w[i],RHL现在有一个体积为V的背包,他想让他带的东西价值之和最大,且体积之和不超过V,你能帮帮他吗?注意物体不能分割。
【输入】
输入文件名为bag.in,分为若干行。 第一行包含两个正整数n,V。
【输出】
输出文件名为bag.out,一行输出一个整数,表示最大价值。
【输入输出样例】
bag.in
5 50
1 1 7
2 1 4
2 4 1
3 1 3
2 3 8
bag.out
42
【数据说明】
30%的数据满足n<=5,<=10,V<=100;
50%的数据满足n<=100,<=1000,V<=1000;
100%的数据满足
n<=100,1<=c[i]<=105,1<=v[i]<=V<=104,1<=w[i]<=109

2 .shallot(shallot.pas/c/cpp)
【问题描述】
小苗去市场上买了一捆小葱苗,她突然一时兴起,于是她在每颗小葱苗上
写上一个数字,然后把小葱叫过来玩游戏。每个时刻她会给小葱一颗小葱苗或者是从小葱手里拿走一颗小葱苗,并且让小葱从自己手中的小葱苗里选出一些小葱苗使得选出的小葱苗上的数字的异或和最大。这种小问题对于小葱来说当然不在话下,但是他的身边没有电脑,于是他打电话给同为OI选手的你,你能帮帮他吗?
你只需要输出最大的异或和即可,若小葱手中没有小葱苗则输出0。
【输入】
第一行一个正整数n表示总时间;
第二行n个整数,a[1],a[2],…,a[n],若a[i]大于0代表给了小葱一颗数字为a[i]的小葱苗,否则代表从小葱手中拿走一颗数字为−a[i]的小葱苗。
【输出】
输出共n行,每行一个整数代表第i个时刻的最大异或和。
【输入输出样例】
shallot.in
6
1 2 3 4 -2 -3
shallot.out
1
3
3
7
7
5
【数据说明】
对于10%的数据n<=1000对于50%的数据n<=20000
对于100%的数据n<=500000,a[i]<2^31

3.CZH的镜子(mir.pas/c/cpp)
【问题描述】
注:坐标平面没有边缘,光线不会因为碰到边界而中途停下,m的意义是所有镜子坐标绝对值的最大值不会超过m。
从前CZH有一个坐标网格(其中坐标的绝对值不会超过 m)。从左到右x坐标逐渐增加,而从下到上y坐标逐渐增加。
在网格中摆放着n面镜子,第 i面镜子的坐标为(x[i],y[i])。镜子均与坐标轴成45°角。所以共有两种类型的镜子:“\”型和“/”型。特殊地,原点处不会有任何镜子,也不会有某个位置有多面镜子。
镜子的两个面都能够反射光线,而中间不透光,例如,对于一个“/”型镜子,从下面射入的光线会被反射到右方向,而从左面射入的光线会被反射到上方向。
现有q条光线从原点所在格子沿x轴正方向射出,求它走过T[i]格路程后所在的位置。
【输入】
输入文件名为mir.in,共行,第一行包含两个正整数,n和m
接下来n行,每行两个整数和一个字符x[i],y[i],t[i],代表某个镜子的位置和
类型。
第n+1行包含一个整数q,表示询问次数。
接下来q行每行有一个整数T,表示询问的路程。
【输出】
输出文件名为mir.out,共q行,每行两个整数表示坐标。
【输入输出样例】
mir.in
5 2
0 1 \
0 2 /
1 0 /
1 1 \
1 2 \
1
8
mir.out
3 1
【数据说明】
40%的数据满足:T[i]<=1000,q<=1000
100%的数据满足:T[i]<=10^18,q<=10^5,n<=10^5,x[i],y[i]<=10^9

今日感想

做了三个小时第三题,突然说是考试,赶快AC第一题,100结束
我~也~是~醉~了~
总的来说,基础算法掌握的还不错,但对于难题(即看不出算法的题目)解决能力不足。
所以还是该多刷难题,我已经等不及数学补课了……


再堕就剁手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值