noi 1.5 42画矩形】的更多相关文章

描述 根据参数,画出矩形. 输入 输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列):第三个参数是一个字符,表示用来画图的矩形符号:第四个参数为1或0,0代表空心,1代表实心. 输出 输出画出的图形. 样例输入 7 7 @ 0 样例输出 @@@@@@@ @ @ @ @ @ @ @ @ @ @ @@@@@@@法一 #include<iostream> #include<cstdio> #include<cstdl…
42:画矩形 总时间限制:  1000ms 内存限制:  65536kB 描述 根据参数,画出矩形. 输入 输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列):第三个参数是一个字符,表示用来画图的矩形符号:第四个参数为1或0,0代表空心,1代表实心. 输出 输出画出的图形. 样例输入 7 7 @ 0 样例输出 @@@@@@@ @ @ @ @ @ @ @ @ @ @ @@@@@@@ 思路: 模拟: 来,上代码: #include<c…
\(des\) 二维平面上存在 \(m\) 个点,每个点会对该点的 \(8\) 个方向上的最近的点产生影响 问每个点会被影响多少次 \(sol\) 过每个点会产生 \(4\) 条线段 保存每条线段的斜率与截距 从平面的左上方向右下方扫描 判断每个点产生的 \(4\) 个斜率与截距是否存在 在遍历中更新该方向上的最后一次的斜率与截距 并且正反方向统计答案 \(code\) #include <iostream> #include <cstdio> #include <algor…
Description B国在耗资百亿元之后终于研究出了新式武器——连环阵(Zenith Protected Linked Hybrid Zone).传说中,连环阵是一种永不停滞的自发性智能武器.但经过A国间谍的侦察发现,连环阵其实是由M个编号为1,2,…,M的独立武器组成的.最初,1号武器发挥着攻击作用,其他武器都处在无敌自卫状态.以后,一旦第i(1<=i< M)号武器被消灭,1秒种以后第i+1号武器就自动从无敌自卫状态变成攻击状态.当第M号武器被消灭以后,这个造价昂贵的连环阵就被摧毁了.为…
有2种dfs的方法: 1.存下每个组的各个数和其质因数,每次对于新的一个数,与各组比对是否互质,再添加或不添加入该组. 2.不存质因数了,直接用gcd,更加快.P.S.然而我不知道为什么RE,若有好心人发现请教教我吧,谢谢~ :-) 下面附上方法1的AC代码-- 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cmath> 5 #include<iostream…
对于noi上的题有2种解法: 1.数据很小(N=100),可以直接打for循环枚举和判断. 2.不会"三分",便用二分.利用"两根相差>=1"和 f(x1)*f(x2)<0,转换意思为[x,x+1]内不会包含两个根,这样枚举可以保证不漏解.因此,枚举一个个根所在的区间,再用二分枚举找出根.其中,若N=10^5,由于保留2位小数,最好精确到4位小数计算.时间复杂度 O(N)=10^5+3*log(10^4),约为10^5. 以下附上二分的代码-- 1 //…
题意:若干组数据,分别问 N划分成K个正整数之和的划分数目.N划分成若干个不同正整数之和的划分数目.N划分成若干个奇正整数之和的划分数目. 解法:请见我之前的一篇博文内的Article 2--[noi 2.6_8787]数的划分(DP){附[转]整数划分的解题方法} http://www.cnblogs.com/konjak/p/5950919.html 注意--真心初始化要很小心啊!分类讨论最保险了! 1 #include<cstdio> 2 #include<cstdlib>…
题意:N个编号为1~N的数,选任意个数分入任意个盒子内(盒子互不相同)的不同排列组合数. 解法:综合排列组合 Stirling(斯特林)数的知识进行DP.C[i][j]表示组合,从i个数中选j个数的方案数:S[i][j]表示Stirling数,i个数分成j份的方案数:P[i]表示P(i,i)全排列.分别从N个数中选i个数后,这i个数分成j份(j=1~i),进入j个盒子内,j个盒子有不同的排列.因此,对于N个数的公式为:ans=sum{C[n][i]*sum{S[i][j]*P[j]}}; P.S…
题意:给一个初始值1,每步操作将1替换为01,将0替换为10.问N步操作后有多少对连续的0. 解法:f[i]表示第i步后的答案.可以直接打表发现规律--奇数步后,f[i]=f[i-1]*2-1;偶数步后,f[i]=f[i-1]*2+1;至于原因--我只能简单说一点.第i步后的答案可由i-1步后的"01"+"1"+"0"的个数推出,而"01"*2+"1"+"0"=01串的总个数.用x表示i…
由于noi OJ上没有Special Judge,所以我是没有在这上面AC的.但是在POJ上A了. 题意如标题. 解法:f[i][j]表示a串前i个和b串前j个且包含b[j]的最长公共上升子序列长度 首先,可用3重循环得到,k循环找到b串j之前的最大长度子序列的结尾字符b[k],得以更新现在f[i][j]的状态.然后,由于k循环的都在j之前,可发现k循环可略去,直接将满足上升的字符用临时变量存,每次j循环的都更新就好了. 具体上,最初f[i][j]=f[i-1][j],先继承好上一个状态,a[i…