算法
量子西瓜
yeah~
展开
-
单调栈
单调栈常常用来向右寻找第一个比他大的数或者向左寻找第一个比他小的数。通过入栈出栈维护栈的单调性,从而得到数值 #include<stdio.h> #include<stdlib.h> #include<stack> #include<iostream> #include<string.h> #include<math.h> u...原创 2020-02-10 16:28:59 · 131 阅读 · 0 评论 -
埃氏筛法打印素数
埃氏筛法的原理 从最小的素数2开始,把所有2的倍数全划掉(除了2本身),再+1,把3的倍数全划掉,再+1,4已经被划掉了,就继续+1,划掉5的倍数。依次类推。 因为素数的定义是只能被1和自己本身整除,所以是倍数的必然不是。 一些优化 根据:所有合数(不是质数的数)n必定有一个小于sqrt(n)的质因子,所以我们在找倍数的外层循环小于等于sqrt(maxn)即可。 而我们在寻找倍数的时候从该数的平方...原创 2020-02-09 20:31:37 · 211 阅读 · 0 评论 -
bfs经典问题—迷宫问题
给出一个迷宫的地图,其中 为障碍, 为可通行的地方。 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。 用 D、U、L、R 分别表示向下、向上、向左、向右走,请记录你的最短行径路径,并输出其中字典序最小的一个。 题目保证一定可以到达。 输入#1 4 6 010000 000100 001001 110000 输出#1 DRRURRDDDR #i...原创 2020-02-09 20:01:00 · 1188 阅读 · 0 评论 -
数位构造法判断回文素数
数据5—1e8 多组输入 #include<stdio.h> #include<stdlib.h> #include<stack> #include<iostream> #include<string.h> #include<math.h> using namespace std; int sushu(int n) { do...原创 2020-02-08 19:56:05 · 373 阅读 · 0 评论