Logs Stacking堆木头 总时间限制: 1000ms 内存限制: 131072kB [描述] Daxinganling produces a lot of timber. Before loading onto trains, the timberjacks will place the logs to some place in the open air first. Looking from the sideway, the figure of a logs stack is as…
题意:给出在最底层的木头的个数,问有多少种堆放木头的方式.要求木头必须互相挨着在一起. 解法:f[i]表示最底层i个木头的堆放木头的方式.注意递推的思想!只需知道上一层堆放0~i-1个(即最底层堆放i个木头)的方式数就可以利用加法原理得到f[i]. 方法一.用前缀和求解.由于要求木头挨在一起,上层为1个时,相应有i-1个位置可放:2个时,相应为i-2.即:f[i]=f[0]+f[1]*(i-1)+f[2]*(i-2)...+f[i-1]   f[i-1]=f[0]+f[1]*(i-2)+f[2]…
题目链接:http://noi.openjudge.cn/ch0206/9277/ ... #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> using namespace std; struct Matrix{ long long m[3][3]; }A,E,ans; long long n,k, mod = 1e5; Matrix mul(Matri…
这是在2016在长沙集训的第三天,一位学长讲解了“前缀和优化”这一技巧,并且他这一方法用的很6,个人觉得很有学习的必要. 这一技巧能使线性递推形DP的速度有着飞跃性的提升,从O(N2)优化到O(N)也不是不可能. 这一技巧的主要思想是使要加和的数据完全储存,并且在下一次计算中直接调用,所以你的对于DP当前项的查询无论是N还是logN,这一方法都能直接解决. 以一道题来作为我们的例子: openjudge9277    (cf 295D跟这题差不多,只是对比于这道题要加个高度,但不用优化) 分享出…
还有3天,今天考试又崩了.状态还没有调整过来... 第一题:小L的二叉树 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣.所以,小L当时卡在了二叉树. 在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论起了二叉搜索树.什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树.设key[p]表示结点p上的数值.对于其中的每个结点p,若其存在左孩子lch,则key…
Description If we connect 3 numbers with "<" and "=", there are 13 cases: 1) A=B=C 2) A=B<C 3) A<B=C 4) A<B<C 5) A<C<B 6) A=C<B 7) B<A=C 8) B<A<C 9) B<C<A 10) B=C<A 11) C<A=B 12) C<A<B…
Problem H. Cups and Beans 2017.8.11 原题: There are N cups numbered 0 through N − 1. For each i(1 ≤ i ≤ N − 1), the cup i contains Ai beans,and this cup is labeled with an integer Ci.Two people will play the following game:• In each turn, the player ch…
不会斯特林数的只能用递推思想了,结果发现推出来的就是斯特林数... #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm> #include <math.h> #include <map> #include <queue> #include <sstream> #include <iostream>…
Description A well known algorithm called heapsort is a deterministic sorting algorithm taking O(n log n) time and O(1) additional memory. Let us describe ascending sorting of an array of different integer numbers.  The algorithm consists of two phas…
支离破碎 Time Limit: 4000/2000ms (Java/Others) Problem Description: 远古时期有一位魔王想向一座宫殿里的公主求婚.为了考验魔王的智力,太后给了他这样一道题:给出一串珠子(大小相同)共 n 个,现在要求魔王将所有的珠子分成不超过(<=)m 堆并求出所有可能的总情况数.考虑到m,n较大时,整座宫殿都可能放不下,现在只需要他求出总情况数 mod M 的答案,聪明的你能帮魔王解决这个问题吗? Input: 第一行输入两个整数 n 和 m.第二行输…