正题


题目大意

第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. 区块链相关论文研读6: FASTKITTEN,关于比特币的实用智能合约
  2. Python DB-API 2.0规范
  3. 将动画装入MicroPython I2C OLED
  4. 行业短信 运营思路_飞信、易信之后 三大运营商要借5G再战微信
  5. 使用matlab版卷及神经网络 MatconvNe和预训练的imageNet进行图像检Image retrieval using MatconvNet and pre-trained imageNet
  6. OS / Linux / epoll 各种事件解析
  7. centos 6.7 mysql rpm_CentOS 6.7 下RPM方式安装MySQL 5.6
  8. 使用IntelliJ, 让lombok生效的方式
  9. 多线程的那点儿事(之读写锁)
  10. A few thoughts about Open Source Software
  11. Pytorch学习笔记(7)——模型放GPU上经常报CUDA错该怎么办
  12. 银行测试汉字录入软件,小键盘数字练习软件(银行及各行业文员专用)
  13. 迈信ep100交流伺服 含原理图、PCB图、C源代码等生产资 料。
  14. QQ浏览器侧边栏添加腾讯翻译君
  15. 搜狗提交软件之搜狗泛目录大量泛收录
  16. 英语foteball足球
  17. excel 第15讲:条件格式与公式
  18. 别再问我为什么你敲的代码很水了!
  19. 如何在App中打开设置、appstore或其他App(区别iOS 10及之前系统)
  20. java编译器对字符串+运算的优化导致的有趣现象

热门文章

  1. setresult()java_Java ResultSet getType()方法与示例
  2. C语言 time函数 开销,C语言: 函数调用的开销
  3. python回到本次循环开头_Python中,当一个while循环判断为false,结束这个循环的时候,怎么进入到下一个循环中?...
  4. 机器学习之超参数调优——超参数调优的方法
  5. 背包(二维数组版和一维数组版)
  6. leetcode104. 二叉树的最大深度(层序遍历09)
  7. libgo 支持mysql,loadrunner通过使用libmysql.dll完成mysql的测试-Go语言中文社区
  8. [数据结构]邻接矩阵和邻接表存储的图DFS,BFS算法时间复杂度分析
  9. AcWing 3195. 有趣的数
  10. C++unique函数应用举例