码迷,mamicode.com
首页 > 其他好文 > 详细

0825-CSP信心赛

时间:2019-08-25 16:18:34      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:数据   code   多少   区域   错误   没有想到   pre   ++   没有   

众所周知:CSP是cost spend pay的缩写(逃)


A 现代艺术

枚举每一块的上下左右极限覆盖面积 + 二阶差分
被一个数字覆盖的区域求前缀和后==1,被多个数字覆盖的区域求前缀和>=1
然后考场上没有想到枚举每一块的上下左右极限覆盖面积(其实也没想到二阶差分)
当时是枚举了几种类型,但是想不到如何统计覆盖情况,然后草草打了个不正确的解法拿了30分溜了


B [JLOI2012]树

倍增+枚举能否跳L

fa[x][i]=fa[fa[x][i-1]][i-1];
dis[x][i]=dis[x][i-1]+dis[fa[x][i-1]][i-1];
len = L;
for(int i = 20; i >= 0; i --)
    if(dis[x][i]<=len){
        len-=dis[x][i];
        x=fa[x][i]; 
    }

因为考场上数据出锅了,\(10^5\)的数据题面给的是\(10^3\),没想多少,DFS序 + dfs建树(dis数组)混了90分


C 旅店

倍增
f[i][j]:表示从i号点出发,走\(2^j\)天,最远能到达的店的编号
k=upper_bound(x+1,x+n+1,xi+L)-x-1;
f[i][0]=k;(然后你就推得出来f[i][j]了qwq)
f[i][j]=f[f[i][j-1]][j-1];

[L,R]
for(j = 30;j;j--){
    if(R>=f[L][j]){
        L=f[L][j];
        Ans++;
    }
}

没剩多少时间,匆匆打了个lower_bound的暴力混个50分


总得分:30 + 90 + 50 = 170
(可能还是进步了一点点吧orzorz,主要是这场考试没犯什么智障错误orzorzorz(哦A题\(4^2\)莫名其妙整成了\(4*2\)算不算qwq))

0825-CSP信心赛

标签:数据   code   多少   区域   错误   没有想到   pre   ++   没有   

原文地址:https://www.cnblogs.com/qwqq/p/11407996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!