算法
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 · 127 阅读 · 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 · 132 阅读 · 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 · 8416 阅读 · 1 评论 -
算法——白书中三角形最大周长的快速求法
题目描述给定一个n,总共有n个长度的小木棍,输出能形成的最大三角形的面积,若无则输出0;注解说有nlogn的解法,没细想,倒是想到了n的解法解法暴力拆解:这个就不用说了,复杂度O(n³),数据大了可能就跪了先排序,再判断能否组成三角形,复杂度O(n)。思路先排序,从最大的数开始判断,判断最大的三个数能否组成三角形,能就是最大的三角形了,若无法形成三角形,接下来的数据和最大的那...原创 2018-12-04 20:49:37 · 809 阅读 · 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 · 2432 阅读 · 3 评论