算法进阶NOW
梦鸢MoYuan
unity开发,求职中,捞我!
展开
-
C++快读
常用快读实现https://blog.csdn.net/lbj_0116/article/details/80501922给cin提速https://blog.csdn.net/u013095699/article/details/76790574转载 2018-11-23 19:40:42 · 1890 阅读 · 0 评论 -
C++组合算法
#include<stdio.h>int N = 0;int M = 3;int num[100] = {0};bool visit[100] = {false};int t_num[100] = {0};int count = 0;// n 个球中取m个void dfs(int m, int index, int nn, int mm){ // 如果已经取到...原创 2018-11-23 21:55:42 · 410 阅读 · 0 评论 -
矩阵/整数快速幂/乘
参考来源: 整数快速乘法,整数快速幂,矩阵快速幂【参考博客】参考题目 poj 3070先说明一下基本的数学常识:(a*b) mod c == ( (a mod c) * (b mod c) ) mod c //这最后一个mod c 是为了保证结果不超过c对于2进制,2n可用1后接n个0来表示、对于8进制,可用公式 i+3j == n (其中 0<= i <=2 ),对于16进...转载 2019-03-09 13:39:45 · 313 阅读 · 0 评论 -
取二进制(非符号位)的最高位1
将最高位的1向后扩散到比它低的所有位置再加一,就会得到高于最高位1个的数,所以右移一下就OK。unsigned hight_bit(unsigned x){//0010 1100 0000 0000 0000 0000 0000 0000 0000 0001 x= x|(x>>1); //0011 1110 0000 0000 0000 0000 000...转载 2019-03-09 20:47:17 · 12428 阅读 · 0 评论 -
LIS:最长上升子序列(3种方法)
最长上升子序列是我在计蒜客中的蓝桥杯模拟题中遇到的。当事看到题目自己想了想,和最长相同子序列差不多。然后自己写了两种解法 ,一种是采用递归式的方法(时间复杂度估计2^n),另一种事采用了动态规划的方式(时间复杂度n*n)。后来得知还存在一种时间复杂度更加优秀的二分法(时间复杂度n * logn), 于是看了下面的博客。参考博客这篇博客中二分法说的还算清楚(反正我一遍就了解得差不多 )...原创 2019-02-25 23:05:23 · 698 阅读 · 0 评论