https://cn.vjudge.net/contest/240309#problem/B
A题好神仙啊,全场都在WA,我想知道那一组把我卡了的数据到底是多少
B题也很神仙 ,出现了happiness的时候倒是好说,没出现的时候换哪个?我输出1 2被卡,输出2837283%n+1 2837282%n+1 (具体数据记不得了)也被卡,我还写了个rand强行判断没有出现,这才过了
C题不太明白为什么大家都没去做,一个多小时才一血,可能都被A搞懵逼了,读完题差不多能过了
D题靠直觉出结论,扩展欧几里得再扩展一下很好猜,代码巨好写
E题还是想了一下下,主要是细节地方有点多,两个传送门中间只有一个的情况,有多个的话,一共是有四种方案,左右都出去拿,左或者右出去拿,直接从左走到右。又是一血,给我美的。
F题也很好写吧,who[i]表示喜欢谁cnt[i]表示有多少层love,初始值who[i]=i,cnt[i]=0;输入一条边直接处理就非常棒了。
G题亏我还在想要是攻击力能重复是不是就GG了,结果直接枚举是删除最大数那一行还是那一列,然后继续找最大的,继续删就得了。就两种情况,必须删一行一列。
H有点毒本来想的是随机1000个位置算一下然后行列和分别check一下,但是一个角给换四个就凉了,后来想用1*n的行向量x 如果 x∗A∗B=x∗C x ∗ A ∗ B = x ∗ C 那么就ok,随机几个就好了。听讲题人说如果给 k k 个随机的矩阵,那么出错概率是 1 0~20个就很稳了。
I题我是没懂,如果有小数据就好了
J题说起来羞愧,我居然以为是个线段树优化DP? O(n) O ( n ) 优化成 O(nlogn) O ( n l o g n ) 我觉得我很厉害。
dp[b[i]]=max(dp[a[i]]+c[i],dp[i−1]) d p [ b [ i ] ] = max ( d p [ a [ i ] ] + c [ i ] , d p [ i − 1 ] ) 更新的时候记录一下 当前状态是从哪里转移过来的最后倒着找回去就好了,如果这题只问dp值就太简单了怪不得要输出这么多。没早看到真是可惜,写了个线段树更丢人,写RE了半天更丢人。
K题, O(n2) O ( n 2 ) 倒是好做,对于一个毒药 i i ,杀死怪物的概率是一个关于 j j 函数 基本上就等于一直线,然后所有的毒药排在图上,就是对应一个x坐标y最大的那一条线,然后我就忘了怎么做了。慢慢填。
L题好写,杀了多少个人就是入度类似物,入度从小到大排序,入度为0了的丢到kill队列里,要杀多少个就拿出来,不够杀的话就NO
总的来说吧,,难度不大,暂时细节思考能力还不行,一个题WA一万次,线段树RE一万处,还得慢慢来啊,想当初全盛时期切这些题,应该是不在话下的。