无语啊
考试期间
时间安排
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需要判断两个谁赢谁输。
正解确实采用三维数组,
d p [ s t ] [ e n ] [ n u m ] dp[st][en][num] dp[st][en][num] 表示 从编号为 st 到 en 的人格斗,num是否可以胜出。(一开始对了啊啊啊啊)
另外,结合关灯那道题的思路,可以用端点作为关键量的进行状态转移,
最后输出 d p [ i ] [ i + n ] dp[i][i+n] 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.考试的时候思维还要细节一点,不然会死的很惨