
算法
treasurew
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ2251 Dungeon Master
#include<cstdio> #include<queue> using namespace std; int L, R, C; const int MAX = 30 + 1; const int INF = 1e9; char maze[MAX][MAX][MAX]; int d[MAX][MAX][MAX]; int dl[] = {0, 0, 0, 0, 1, ...原创 2019-10-25 15:45:09 · 181 阅读 · 1 评论 -
POJ1321 棋盘问题
#include<cstdio> #include<cstring> using namespace std; int N, K; const int MAX_N = 8 + 1; char maze[MAX_N][MAX_N]; int count = 0; int book[MAX_N]; bool avaliable(int a, int b) { if(boo...原创 2019-10-25 14:57:27 · 183 阅读 · 0 评论 -
算法——指数取模运算(蒙哥马利算法)
蒙哥马利算法简介 蒙哥马利(Montgomery)幂模运算是快速计算a^b%k的一种算法,是RSA加密算法的核心之一。——百度百科 用到的公式 (a * b) % p = a % p * b % p % p 推论 base^exp % p = (base % p) * (base % p) * … *(base % p) % p(总共exp个小括号) 若为exp偶数 = (base^2 %...原创 2018-12-03 15:11:28 · 8766 阅读 · 1 评论 -
算法——白书中三角形最大周长的快速求法
题目描述 给定一个n,总共有n个长度的小木棍,输出能形成的最大三角形的面积,若无则输出0; 注解说有nlogn的解法,没细想,倒是想到了n的解法 解法 暴力拆解:这个就不用说了,复杂度O(n³),数据大了可能就跪了 先排序,再判断能否组成三角形,复杂度O(n)。 思路 先排序,从最大的数开始判断,判断最大的三个数能否组成三角形,能就是最大的三角形了,若无法形成三角形,接下来的数据和最大的那...原创 2018-12-04 20:49:37 · 878 阅读 · 1 评论 -
算法——一维二维数组差分及前缀和
一维差分 有一个n长度的歌单,某聚聚每轮听歌听到k处(含k)结束,现给出m个k,表示听了m轮,问每首歌听过几次——抽象自xdoj1276 思路 暴力模拟解决: 利用循环,将每一轮的k及之前的数都加一,最后输出结果。——TLE 一维数组差分: 记录每个k的位置,然后利用一维数组的差分来求解,避免了重复计数。 观察 1.假设n为4,m轮之后停在1,2,3,4首歌的次数为a,b,c,d次。 我们...原创 2018-12-03 15:40:25 · 2602 阅读 · 3 评论