7.29模拟赛

无语啊

考试期间

时间安排
8:00–8:20 读题

t1看完看出来了是区间dp,自己想的状态是dp[i][j][k]表示k能在i~j中胜出

t2背包,但是一时间没想起怎么搞

t3从数据范围看出来是状压dp,但是状压没学好只能放弃,试试别的方法

码题

t1码了半个小时样例过了,因为昨天所以先去打后面了;

t2看了半个小时没啥想法去打t3

t3由于状压不会只能暴力,思考一下想枚举

首先标记一轮,-1分拿到

先让装备1买了,标记能杀的,在枚举怪兽,全死为止;

在先买装备2,再来一次;反正只有12的数据,没爆;

多算几次去min;样例过了,挺开心的;

回头看t2感觉先打个前缀和试试,反正要加起来肯定用;

就想到用前缀和把数据变一下

像这样,一组数据就成了彩色的部分,再背包岂不是很美

最后延长20分钟,查完t3看了下t1又觉得不对,生了组数据发现错了

一顿操作交题了,结果有变量名的函数删了,主函数还用了,一时没法改,

喜提CE

更无语的

0 + 10 + 2

我差点笑死

正解

题目描述
格斗俱乐部是格斗爱好者的一个组织,在这里,格斗者们能通过与别的成员进行格斗来释放自己的压力
与轻松自己的情绪。
最近俱乐部举行了一场比赛,该比赛有N位选手参加,他们将围成一个圆圈,每一场比赛圈内任意的两
位相邻的选手均可进行相互的格斗,胜利者将留在圈内进入下轮比赛而失败者则直接被送往医院(没有
平局)。比赛是残酷的,最后圈内将只剩下一位选手,他将是总冠军。
我们做个奇怪的假设,两位选手进行格斗,他们比赛的结果总是确定的。虽然俱乐部的成员们都很喜欢
格斗,但是他们仍然很希望能获得总冠军。
现在你通过统计已经知道了任意两位选手格斗的结果,你有责任告诉每位选手,如果赛程合适安排的
话,他是否可能成为总冠军。
输入格式
数据第一行是一个整数 N,((1<=N<=40)),表示比赛的选手数量。
接下来给出一个 N*N的“ 0”、“1 ”矩阵 A(行内用空格隔开),第i行第j列为 1表示选手i能战胜选手j,
否则选手j能战胜选手i。
你可以假定Aij与Aji(i≠j)均是不同的且Aii=0。比赛开始时所有选手按顺时针方向由编号 到编
号 站成一个圈,初始时编号 与编号 的选手是相邻的。
输出格式
输出包含 行,每行为一个整数“0”或“1”,“1”表示第i号选手有可能成为冠军,“0”表示不可能。
input
3
0 1 1
0 0 1
0 0 0
output
1
0
0

T1和环形合并石子很像,但有两点不同:

1、环形合并石子是求最优值问题,T1是可行性问题;

2、T1需要判断两个谁赢谁输。

正解确实采用三维数组,

$dp[st][en][num]$ 表示 从编号为 st 到 en 的人格斗,num是否可以胜出。(一开始对了啊啊啊啊)

另外,结合关灯那道题的思路,可以用端点作为关键量的进行状态转移

最后输出$dp[i][i+n]$ 如果为真, 那么i号可以胜出,

因为此时结合环形的处理方法,i 和i+n都表示i 这个人的输赢情况。



t2

Description
从T组物品中选出一些物品,放入背包中,求剩余空间的最小值。
限制条件:从每组物品中挑选物品必须要选取连续的一段。就是说,如果这组物品共有n个: 物品1、物品2、物品3、…、物品n,那么只能选取物品i、物品i+1、…、物品j,其中1<=i<=j<=n,或者不选。
Input
第一行为两个用空格隔开的正整数v和T。表示背包的空间和物品的组数。接下来有T行,每行先是一个正整数ni,表示这组物品有ni个,然后ni个正整数,表示每个物品的大小。
Output
仅一个数,表示剩余空间的最小值。
Sample Input
100 3
3 7 6 8
2 80 70
4 101 108 103 150
Sample Output
6
【样例说明】
第1组选6、8,第2组选80,第3组不选。
【限制】
60%的数据满足:1 <= ni <= 10
100%的数据满足:1 <= ni <= 100,1<=v<=5000,1<=T<=10

对了思路

细节上错了

 处理以后的数组。。还拿这张图

 4==>11    然后因为数组开小访问越界喜提一堆负数。。(下次出负数可以往这上面找)

t3

Description:
有n个野怪,给定m个武器的价钱和它能打的野怪,求打完所有野怪要的最少花费
输入格式
第一行输入野怪的个数 n 和武器的个数 m
接下来共有m组,第i组描述第i把武器的信息:
对于每一组武器:
第一行输入一个a和b, 分别代表这种武器的价钱和这把武器能打死几个野怪
第二行输入b个编号,代表这个技能能打死野怪的编号
输出格式
输出最小的花费打死所有的野怪. 如果不能全部打死,输出-1
样例数据
input
2 3
10 1
1
15 1
2
30 2
1 2
output
25
购买第一把武器和第二把武器可以打死所有的野怪,共花费最小消耗25

又去学了下状压,这题就跟板子一样。。(状压还得练练题)

反思:

1.基础性知识还有很多缺陷,得复习复习

2.考试的时候思维还要细节一点,不然会死的很惨

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值