(ssl1960)2009年东莞市信息学特长生测试题 开发区规划
2009年东莞市信息学特长生测试题 开发区规划
Description
小王是D市主管经济的副市长,由于经济发展的需要,要在D市组建一个高新技术开发区,经过研究,规划局在D市的东部划出了一块土地作为开发区选址。这块土地是一块矩形平原,小王准备在上面修建一些建筑。为了规划方便,他将矩形划分成N*M格。棘手的是,这块土地有些历史文化遗址散布在某些格子内,这些历史文化遗址是万万不能拆除的,否则将激起民愤,小王深知这一点,因此,他的新建筑在选址时要避开这些格子。
假设新的建筑物有P种规格,每种建筑物都是正方形的,占地为Ti*Ti格 (1<=i<=P)。小王想知道对于每种规格的建筑,有多少种不同的合适选址方案(一种合适的选址方案指的是在该建筑所占的正方形区域内不存在有历史文化遗址的格子)。现在请你来当小王的秘书 帮他完成这个光荣而艰巨的任务。
Input
从文件d.in读入数据,输入文件第一行包含三个数,分别代表N,M,P (1<=N,M<=2000,1<=P<=1000)。随后的n行,每行有m个0或1(1表示该格为空地,0表示该格有历史文化遗址)。接下来的P行每行有一个整数Ti (1
Output
结果输出到文件d.out中,共有P行,每行一个整数,第i行的数代表边长为Ti的建筑物选址方案数。
Sample Input
4 4 2
1011
1111
1110
1110
2
3
Sample Output
5
1
Source
elba
题解:
先看一下本题的范围,输入为2000*2000。看似很小,但如果直接枚举的话就是2000^3=80e(把每种边长的正方形都枚举一遍)。这样做就会超时(TLE),所以我们要剪下枝~(づ ̄3 ̄)づ
我们以所有点作为右下角,求出最大能拓展的正方形的边长,最后累加(如果这个位置能拓展边长为5的正方形,它就一定能拓展边长为4(1≤x≤5)的正方形)
首先我们先处理第一行,因为第一行无法向左上拓展,所以方便我们初始化和记录边长为1的正方形
然后就处理后面几行就行了,不过要注意判断!例如i点可以向上拓展3个点,但它只能向左拓展2个点,由于它只能拓展正方形,所以它最多只能拓展边长为2的正方形!(否则顶多是矩形)
PS:
x[i]为在第i个点时可以向x轴方向拓展x[i]个长度(靠前一个来更新),y[i]也以此类推。z[i]存放当前这个点最大能拓展的正方形数(靠对角线来更新),f[i]为以i为边长的正方形有f[i]个
varx,y,z,f:array[0..2001]of longint;n,m,p,t,i,j:longint;s:ansistring;
function min(a,b:longint):longint;
beginif a<b then exit(a);exit(b);
end;
beginread(n,m,p);readln;read(s);for i:=1 to m doif s[i]='0' then begin x[i]:=0; y[i]:=0; endelsebeginx[i]:=x[i-1]+1;//拓展~inc(y[i]);z[i]:=1;inc(f[1]);//第一行只能拓展边长为1的正方形end;for i:=2 to n dobeginreadln;read(s);for j:=1 to m doif s[j]='0' then begin x[j]:=0; y[j]:=0; endelse begin x[j]:=x[j-1]+1; inc(y[j]); end;for j:=m downto 1 doif s[j]='0' then z[j]:=0//判断elsebeginz[j]:=z[j-1]+1;z[j]:=min(z[j],x[j]);//找合法的正方形z[j]:=min(z[j],y[j]);inc(f[z[j]]);end;end;for i:=min(n,m) downto 1 do inc(f[i],f[i+1]);//累加for i:=1 to p dobeginreadln(t);writeln(f[t]);end;
end.
(ssl1960)2009年东莞市信息学特长生测试题 开发区规划相关推荐
- 信息学奥赛之数学一本通_部分地区中考加分,又一批中学公布中考认可信息学特长生!...
点击上面微信号关注我关注我哟定期推送帐号信息学新闻,竞赛自主招生,信息学专业知识,信息学疑难解答,信息学训练营信息等诸多优质内容的微信平台,欢迎分享文章给你的朋友或者朋友圈!有任何问题请联系小编!清北 ...
- 信息学特长生是计算机几级,快看!信息学特长生中考加分!
原标题:快看!信息学特长生中考加分! · 关注公众号:haotianedu (985拔尖创新人才培养)了解更多相关资讯! 中考临近,很多省份公布了特长生加分政策和招生方案,其中信息学竞赛生依然拥有&q ...
- 【09年特长生第四题】开发区规划
开发区规划开发区规划开发区规划 题目 小王是D市主管经济的副市长,由于经济发展的需要,要在D市组建一个高新技术开发区,经过研究,规划局在D市的东部划出了一块土地作为开发区选址.这块土地是一块矩形平原, ...
- 6.6模拟题 2009年汕头市信息学奥林匹克竞赛 过路费1790
题目 题解 代码 题目 古时候有N个城市,编号分为1到N,每两个城市之间有且只有一条路.商人在城市之前做买卖时就会遇到一个问题,那就是每通过一条路,就要支付一定的过路费,这个过路费等于商人身上的金钱数 ...
- TCS·开发区规划【前缀和】
09特长生 T4 Description-- Input-- Output-- Sample Input-- Sample Output-- 说明-- 解题思路-- 代码-- Description– ...
- 东海高新技术产业开发区规划环评第一次公示
东海高新技术产业开发区坐落于东海县牛山镇,是以硅材料产业为特色战略产业,以农副产品精深加工为主导产业,以先进制造,新医药,新型建材等产业为培育型产业的高新区,园区规划面积22.93平方公里. 根据&l ...
- 【前缀和】【dp】开发区规划
思路: 就是找左下角作为顶点然后dp f [ i ] [ j ] = m i n f [ i − 1 ] f [ j − 1 ] , f [ i − 1 ] [ j ] , f [ i ] [ j − ...
- 【Floyed】廉价最短路径
廉价最短路径 题目大意: 一个图中,在满足最短路的前提下,求最小代价 原题: 题目描述 图是由一组顶点和一组边组成的.一条边连接两个顶点.例如,图1表示了一个有4个顶点V.5条边的图.图中,每条边e是 ...
- python能参加奥赛吗-家长们注意了!关于信息学奥赛(NOIP),你需要知道这些...
原标题:家长们注意了!关于信息学奥赛(NOIP),你需要知道这些 导读:获得全国青少年信息学奥林匹克联赛(NOIP)一等奖的应届高中毕业生,均具有保送进入高校就读的资格.部分地区一等奖获奖选手还享有高 ...
最新文章
- 可扫爆服务器系统,可扫可爆云服务器
- sql语句中开窗函数的使用
- LeetCode 292. Nim Game
- 搜索——Red and Black(hdu1312)
- ES6学习 - Promise对象
- java8 list 去重_Java8中的Stream,一行代码,让集合操作飞起来
- 24点游戏算法python_24点游戏算法
- 飞思卡尔单片机c语言编程详解,主流16位单片机学习详解:飞思卡尔MC9S12G系列...
- 西门子、安川、三菱伺服技术完全精通系列丛书!
- java 字符串限制长度吗_[Java教程]限制字符串长度
- 方差公式初三_九年级同步数学公式:方差公式(1)
- i2c我们用得很多,i3c又是什么?
- 科目二 领线30cm的方法 LTS
- 关于SearchView设置字体颜色,提示字体及背景的解决方法
- APP内置H5分享到微信
- Pόlya定理详解及例题
- 旧手机先别扔,余承东:留着升级一下鸿蒙
- springdata数据源的配置
- huawei CE系列补丁安装指导书
- 教大家如何破解某款返利机器人最新版1.4.7