正题


题目大意

第iii行有n−i+1" role="presentation" style="position: relative;">n−i+1n−i+1n-i+1个格子,每一行要求从左到右画#,要求下面哪行的#数不能超过前一行。要求第一行必须有#,求画的方案数。


解题思路

首先一定要高精度,然后就是dp了:
这个dp比较慢是O(n3)O(n3)O(n^3)的
用f[i][j]f[i][j]f[i][j]表示第i行放j个的方案数,然后枚举一个k表示上一行选k个就好了,最后把f都统计一遍。


代码

#include<cstdio>
using namespace std;
int n,s,f[101][101];
int a[10001][26];
void add(int n1,int n2)//高精度
{int z=0;for (int i=1;i<=25;i++){a[n1][i]=a[n1][i]+a[n2][i]+z;z=a[n1][i]/1e8;a[n1][i]%=(int)1e8;}
}
void write(int x)//输出
{int w=25;while (a[x][w]==0) w--;printf("%d",a[x][w]);w--;for (;w>=1;w--){if (a[x][w]/(int)1e7==0) printf("0");//压位if (a[x][w]/(int)1e6==0) printf("0");if (a[x][w]/(int)1e5==0) printf("0");if (a[x][w]/(int)1e4==0) printf("0");if (a[x][w]/(int)1e3==0) printf("0");if (a[x][w]/(int)1e2==0) printf("0");printf("%d",a[x][w]);}
}
int main()
{//freopen("diagrams.in","r",stdin);//freopen("diagrams.out","w",stdout);scanf("%d",&n);for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)f[i][j]=(i-1)*n+j;//分配数组for (int i=1;i<=n;i++){a[f[1][i]][1]=1;//初始化add(s,f[1][i]);//累计}for (int i=2;i<=n;i++){for (int j=1;j<=n-i+1;j++){for (int k=j;k<=n;k++){add(f[i][j],f[i-1][k]);//动态转移}add(s,f[i][j]);//累计}}write(s);
}

【2018.5.12】模拟赛之四-ssl2416 条形图【高精度,dp】相关推荐

  1. 【2018.4.14】模拟赛之四-ssl2394 剪草【dp】

    正题 大意 有n株草,没个时间单位开始时会增长不同的长度.每个时间单位可以将一株草剪成高度为0,求多少时间单位后能够将草的总高度减低为h以下,或用远不能. 解题思路 首先需要一段玄学推理: 可以等草长 ...

  2. 【2018.3.31】模拟赛之四-ssl2408 句子【dp,字符串】

    正题 大意 先给出n个句子,然后给出一个最终句子.最终句子由多个句子加密后组成(可能重复).加密方法就是将字母调换位置,加密代价就是该位置与原来的字母不同的数量.求达到最终句子的最小加密代价 解题思路 ...

  3. 2018.10.9模拟赛

    2018.10.9模拟赛 T1 trade 正解:贪心 据说lyd讲过但并没有印象QAQ,考场上现推浪费了不少时间 其实就开个小根堆,每次把堆顶取出来看它是不是比当前的 a[i]a[i]a[i] 小, ...

  4. 【2018.3.24】模拟赛之四-ssl2548 旋转【暴力模拟】

    正题 大意 给出一块黑块和白块组成的版,将其旋转90°后和之前的黑块叠加,求最初始和每次旋转后的黑块数. 解题思路 暴力模拟不解释 代码 #include<cstdio> #include ...

  5. 【2018.5.19】模拟赛之四-ssl2435 航空公司【并查集,二分】

    正题 题目大意 有n个点,给出坐标,选择所有距离在k之内的边要求联通所有点,求最小的k. 解题思路 垃圾解法 用二分答案然后加并查集求是否联通. 时间复杂度:O(mlogn)O(mlogn)O(mlo ...

  6. 【2018.4.21】模拟赛之四-ssl2405 巧克力【实际上是模拟】

    正题 大意 有n块巧克力,一个a*b的网格,如果网格可以完全包括一块巧克力就可以获得这块巧克力,求最多能获得的巧克力数量 解题思路 枚举点(在巧克力上的)和各种情况,然后判断这种情况包括多少个巧克力, ...

  7. 【2018.4.7】模拟赛之四-ssl2385 猜数【水题】

    正题 大意 给出一些询问和答案,询问内容包括: 1. 是否大于一个数 2. 是否小于一个数 3. 是否大于等于一个数 4. 是否小于等于一个数 这是一个-10000到10000的数 求这个数的最小值 ...

  8. 【2018.3.17】模拟赛之四-ssl1864jzoj1368 燃烧木棒【最短路,Floyd】

    正题 链接 需要纪中OJ账号 有n条木棒,长度为1或根号2,给出每根木棒两头的坐标,和燃烧需要的时间.只能从一个木棒的一头开始点火,求燃烧完所有木棒所需要的最短时间. 输入输出(需要自取) Input ...

  9. 【2018.3.10】模拟赛之四-ssl2133 腾讯大战360【SPAF,图论,最短路径】

    目录地址 前言 打错了一个地方之接60,还有输出"Peace"能拿60.还有题目坑爹害得我用了哈希,可以无视 QAQ 正题 有一个n*n的图,有m条边,不知道几个城市,给出两个位置 ...

最新文章

  1. 系统配置文件备份比较
  2. 近年来霸屏CNS封面的领域,值得关注
  3. 设置JFrame背景图片
  4. python-pdf添加水印
  5. spring websocket源码分析续Handler的使用
  6. 宿迁学计算机的学校,宿迁计算机学校
  7. 【017】◀▶ C#学习(九) - ADO.NET
  8. java学习(81):静态代码块
  9. Vray-3.0 开箱宝典
  10. Linux下如何禁止某个用户登录方法
  11. 西数发布首款消费级SSD:蓝盘、绿盘齐飞
  12. leetcode 咒语和药水的成功对数
  13. linux 显示器识别工具,Linux 显示器未正确识别 最佳分辨率 Ubuntu 10.10 X1
  14. 大数据技术在我们日常生活中的应用
  15. 安卓笔记-视频版(还没学完)
  16. win 10 caffe python=3.5 小白安装全过程(最详细,完美解决各种版本不兼容等问题)
  17. 光伏扶贫项目指标下达 如何严把光伏质量关?
  18. csrf(csrf请求非法是什么意思)
  19. android+状态栏显示图标大全,Android应用图标在状态栏上显示实现原理
  20. android简易计算,android实现简易计算器

热门文章

  1. mac php mcrypt,MacOSX 10.10安装mcrypt详细教程分享
  2. php文字左右滚动代码,JavaScript
  3. 硬件加速下webview切换闪屏_网页渲染性能优化 —— 性能优化下
  4. 对MATLAB课程教程的建议,关于MATLAB课程教学的几点探讨
  5. 热力地图高德_高德地图:最新动态
  6. 数据结构——二叉树的双序遍历
  7. ciclop读音,购机必备,15种 3D扫描 设备 优缺点汇总
  8. LeetCode 257二叉树的所有路径-简单
  9. strcmp()字符串比较函数
  10. [蓝桥杯2016初赛]方格填数-next_permutation