摘要: 动态规划 状态 初始 转移 答案 完整代码: cpp include using namespace std; const int MAXN=10000+10; const int MAXM=500+10; int n,m; int d[MAXN]; int dp[MAXN][MAXM]; inli 阅读全文
posted @ 2019-05-07 12:19 hulean 阅读(211) 评论(0) 推荐(0)
摘要: 详细解析解题过程 设计状态 初始数组 cpp for(int i=0;i using namespace std; typedef long long ll; int n,m; ll a[30],b[30]; ll dp[30][250]; inline int read() { int tot=0 阅读全文
posted @ 2019-05-07 09:33 hulean 阅读(249) 评论(0) 推荐(0)
摘要: $n 特别地,第1个位置的树与第n个位置的树相邻。 这个~~好像~~没有考虑过 所以要把位置为1的特殊处理 那么答案就应该是这个: 完整代码: cpp include using namespace std; const int MAXN=100000+10; int n; int a[MAXN], 阅读全文
posted @ 2019-05-06 13:06 hulean 阅读(251) 评论(0) 推荐(0)
摘要: 状态: 转移 判断 计算面积 $S=\sqrt{p (p a) (p b) (p c)}$ $p$为半周长:$(a+b+c)/2$ 献上完整代码: cpp include using namespace std; int n,c; int l[50]; int wood[4]; bool dp[80 阅读全文
posted @ 2019-05-06 11:23 hulean 阅读(334) 评论(0) 推荐(0)
摘要: 一道很好的二维前缀和模板题。 什么是二维前缀和? 从这张图可以看出前缀和的求法: 这道题的代码: cpp include using namespace std; const int MAXN=5000+10; int n,r; int Map[MAXN][MAXN];//数组开的下 inline 阅读全文
posted @ 2019-05-05 15:45 hulean 阅读(300) 评论(0) 推荐(1)
摘要: 很好的一道数学推导题 45分做法 $O(N^4)$ 暴力枚举四个材料 55分做法 从第一个约束条件可得到所有可行答案都是单调递增的,所以可以排序一遍,减少枚举量,可以拿到55分 100分做法 首先可以发现每个x都小于n,而n最大值只是15000,所以可以开一个桶来存每个魔法值出现的次数 回忆一下3个 阅读全文
posted @ 2019-05-04 14:23 hulean 阅读(464) 评论(0) 推荐(0)
摘要: 看到这题,一下就想到了爆搜。(不过这题输入也是够坑的) 单纯的搜索肯定是会超时的,所以这里需要考虑一些剪枝。 我们令 为在第i行j列时,方向为k的最小镜子数,若当时的镜子数已大于或等于此记录,那么就不必要更新了 否则往该点的四个方向进行更新: 方向相同 没必要放镜子了 方向相反 不存在这种可能,忽略 阅读全文
posted @ 2019-05-02 08:20 hulean 阅读(263) 评论(0) 推荐(0)
摘要: 状态: : 1. 到达第i行时, 2. 到达第j列时, 3. 刷到第k次时, 4. 这一格有没有刷对 转移 1. 换一块木板时肯定要多刷一次 2. 当前格子与上一个格子颜色相同时 3. 当前格子与上一个格子颜色不相同时 代码: cpp include using namespace std; int 阅读全文
posted @ 2019-05-01 13:11 hulean 阅读(252) 评论(0) 推荐(0)
摘要: 素数简介 素数(prime number)又称质数,有无限个。 素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 接下来介绍几种判断素数的方法: 问法1:给定一个数n,判断n是不是素数 一、暴力枚举 枚举 分别当做除数,判断是否能整除,如果某个数能把 整除,那么就说明 不是素数,如果 阅读全文
posted @ 2019-05-01 10:20 hulean 阅读(318) 评论(0) 推荐(0)
摘要: ```cpp 什么是高精度数? 在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数,高精度算法是用计算机对于超大数据的一种模拟加,减,乘,除,乘方,阶乘,开放等运算。 对于一个很大的数字N >= 10^ 100, 很显然这样的数字无法在计算机中正常存储。于是, 我们想到了办法,将这个数字拆开,拆成一位一位的 或者是四位四位的存储到... 阅读全文
posted @ 2019-05-01 10:19 hulean 阅读(6387) 评论(0) 推荐(7)