题目: 键盘输入一个高精度的正整数N(不超过250位) ,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数。 编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。 算法思路: 要从正整数中删除k个数字,可以采取一步步来删的策略,每一次删除一个数字,使得当前得到的数字是最小的 ...
分类:
其他好文 时间:
2019-11-24 11:30:57
阅读次数:
69
$BM$算法可以在$O(n^2)$的时间里用来求出一个长度为$n$的数列的最短递推式 ~~用处是在题目中打出小范围的表之后求出递推式并配合CH定理来求出最终的答案~~ 以下无特殊说明时均默认下标从$1$开始,用$|B|$表示数列$B$的长度 算法流程 对于某个长为$n$的数列$\{a_i\}$,我们 ...
分类:
编程语言 时间:
2019-11-23 14:39:48
阅读次数:
60
1.各种数: 全排列:P(n,n)=n! 部分排列:P(n,m)=n!/(n-m)! 组合数:公式:C(n,m)=n!/(m!*(n-m)!) 递推式 :C(n,m)=C(n-1,m)+C(n-1,m-1) Lucas定理:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p #defi ...
分类:
其他好文 时间:
2019-11-23 10:01:02
阅读次数:
68
自己手撸了一个高精度代码,暂时不能处理第一位进位。 1 #include<bits/stdc++.h> 2 #define MAXN 1000; 3 using namespace std; 4 int main(){ 5 string A="1234567890",B="88888888"; 6 ...
分类:
编程语言 时间:
2019-11-22 22:15:04
阅读次数:
98
矩阵,主要用于递推/$dp$优化,以及特别的题目。 运算: 注意,矩阵有$+, , ,pow$以及矩阵的逆等运算。本文讨论入门的$+, , ,pow$. 对于加法: $$ \left[ \begin{matrix} 1&3&5\\ 2&4&7\\ \end{matrix} \right]+ \lef ...
分类:
其他好文 时间:
2019-11-22 19:11:01
阅读次数:
98
递归详解-典型递归介绍 http://chenqx.github.io/2014/09/29/Algorithm-Recursive-Programming/ 1.如何理解“递归”?(什么是递归) 去的过程叫“递”,回来的过程叫“归”f(n)=f(n-1)+1 备注:去的过程入栈的过程,回来的过程出 ...
分类:
编程语言 时间:
2019-11-21 13:42:17
阅读次数:
91
贪心算法 定义:在每一步选择中都进行当前状态下的最优解, 从而希望导致结果是最好算法。贪心算法在最优子结构问题中尤为有效。最优子结构的意思是局部最优解能决定全局最优解。举例:最小生成树的算法 (Prim MST、Kruskal MST、Dijkstra’s algorithm) 相比于动态规划 相同 ...
分类:
编程语言 时间:
2019-11-21 12:03:18
阅读次数:
94
写题思路一定要清晰后再动键盘,否则肯定死得很惨。。(被绿题虐系列) 题目要求所有满足颜色相同且两点间存在一点小于等于某值的方案数。 显然2e6的数据一般是O(n)的做法,所以从一开始就在想递推式,然后由于思路比较乱,一直没有写出来,直到今天才好好理了理思路: 对于读入到的一点,颜色为cl,价格为wi ...
分类:
其他好文 时间:
2019-11-14 22:05:48
阅读次数:
80
从一开始按以下方式逆时针旋转,可以形成一个边长为七的正方形螺旋: 一个有趣的现象是右下对角线上都有一个奇完全平方数,但是更有趣的是两条对角线上的十三个数中有八个数是素数(已经标红),也就是说素数占比为$8/13\approx62\%$。如果在上面的螺旋再加一层就可以形成一个边长为九的正文形螺旋。如果 ...
分类:
其他好文 时间:
2019-11-14 09:50:31
阅读次数:
56
一、前言 我们在进行php开发的时候经常会遇到浮点型的问题,特别是涉及金额的部分,常常需要进行加减运算。当小数点的位数比较多的时候,往往容易犯一些很低级的错误。这里记录一下php的精度计算和封装的小demo。 二、关于php的高精度问题 1、概念解释 这篇文章的解释最清楚: php高精度计算问题 2 ...
分类:
Web程序 时间:
2019-11-13 14:46:32
阅读次数:
398