04 2019 档案

最长上升子序列 LIS
摘要:最长上升子序列 (反正这个oj我做不了) 洛谷:AT2827 LIS 题解: 1.DP(TLE) 这是一道最为经典的完全用动态规划来解决的问题。 ◦ 设dp[i]为以a[i]为末尾的最长上升子序列的长度。 ◦ 最后的答案就是我枚举一下最长上升子序列的结束位置,然后取一个dp[i]最大值即可。 ◦ 问 阅读全文

posted @ 2019-04-30 19:22 晔子 阅读(283) 评论(0) 推荐(0) 编辑

五一 DAY 3
摘要:DAY 3 2019.4.30 动态规划DP Dp是一个很抽象的东西 方法没有明显区别,很难总结套路 啥是DP? DP等价于DAG!!! (1)无后效性:DP的所有状态之间组成一个DAG (2)最优子序列 (3)阶段性 (4)转移方程:如何计算状态 一般是顺序转移 有时候乱序,因为DP 是DAG,可 阅读全文

posted @ 2019-04-30 14:01 晔子 阅读(206) 评论(0) 推荐(0) 编辑

五一 DAY2
摘要:DAY 2 2019.4.29 比如:依次输入 3 1 5 4 2 插入 6 这里FZdalao有一个很巧妙的构造,直接吧输入的数字排成一个二叉搜索树,方便以后操作 把mid作为根节点,两边排 说白了,删掉一个数,就用这个数左子树最大值或是右子树最小值替换他,并把父辈祖辈size-1 size[x] 阅读全文

posted @ 2019-04-29 23:01 晔子 阅读(214) 评论(0) 推荐(0) 编辑

五一 DAY1
摘要:DAY 1 2019.4.28 例题1 题解: 例题2 题解: 例题3 题解: vis[ ]判断是否为素数,pri[ ]储存素数 例题4 题解: 例题5 题解: PS: i < 1<<n i<2^n (1<<j)& i 如果2^j最后一位和 i 相同,返回1 例题6 判回文数是N√N,素数NlogN 阅读全文

posted @ 2019-04-29 07:49 晔子 阅读(266) 评论(0) 推荐(0) 编辑

【模板】快速排序
摘要:P1177 【模板】快速排序 【 堆排序 】 时间复杂度:O(nlogn) PS:OI界的log都是以2为底数 空间复杂度:O(n) [ 代码 ]: #include<bits/stdc++.h> using namespace std; long long n,x,heap_size; int h 阅读全文

posted @ 2019-04-26 21:33 晔子 阅读(371) 评论(0) 推荐(0) 编辑

堆排序 P1090 合并果子
摘要:P1090 合并果子 本题要用到堆 一个小根堆 每次取出两堆,合并成一堆,为了让多多花费体力最少,我们要尽量少的重复大堆的合并,因此每次合并完以后,要把新的一坨放到堆里排一排,维护一个堆 有必要强调一下这个合并的操作: (1)取出最小的一个(或一坨)果子 x (2)再取出最小的一个(或一坨)果子 y 阅读全文

posted @ 2019-04-26 21:01 晔子 阅读(380) 评论(0) 推荐(0) 编辑

最短路径 SPFA P3371 【模板】单源最短路径(弱化版)
摘要:P3371 【模板】单源最短路径(弱化版) SPFA算法: SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环。SPFA 最坏情况下复杂度和朴素 Bellman-Ford 相同,为 O(VE)。 SPFA和Dijkstra不同的是: 阅读全文

posted @ 2019-04-26 20:00 晔子 阅读(454) 评论(0) 推荐(0) 编辑

并查集 1347:【例4-8】格子游戏
摘要:1347:【例4-8】格子游戏 并查集的二维升级版(简称寻找二维爹自己起的) 也就是他们自己变成了二维坐标,父结点自然也要变成二维啦 代码: 阅读全文

posted @ 2019-04-23 19:12 晔子 阅读(1074) 评论(0) 推荐(0) 编辑

并查集 P3367 【模板】并查集
摘要:P3367 【模板】并查集 阅读全文

posted @ 2019-04-23 18:37 晔子 阅读(312) 评论(0) 推荐(0) 编辑

1344:【例4-4】最小花费 dijkstra
摘要:1344:【例4-4】最小花费 Dijkstra (1)a [ i ] [ j ] 存转账率(。。转后所得率。。) (2)dis [ i ] 也就是 a [ 起点 ] [ i ] (3)f [ i ] 判断是否已经拓展过 (4)前驱结点 k PS:ans * a[x][y]=100 即 ans=10 阅读全文

posted @ 2019-04-21 17:22 晔子 阅读(1214) 评论(0) 推荐(0) 编辑

1343:【例4-2】牛的旅行
摘要:1343:【例4-2】牛的旅行 弗洛伊德算法: (1)弗洛伊德算法求出任意两点间的最短路,然后求出每个点到所有可到达点的最大距离,记为 m[i] (2)r1=max( m [ i ] ) (3)枚举不联通的两个点 i , j,把它们联通,则新的直径是m[i]+m[j]+dist(i,j) (4)r2 阅读全文

posted @ 2019-04-21 16:02 晔子 阅读(975) 评论(1) 推荐(0) 编辑

1342:【例4-1】最短路径问题
摘要:1342:【例4-1】最短路径问题 Floyed算法模板题 Floyed算法 1.计算图中任意两点间的最短路径 2.适用于出现负边权 3.算法描述: (1)初始化:点u,v如果有边相连,则dis[u][v]=w[u][v] 如果不相连,则dis[u][v]=0x7fffffff (2) for ( 阅读全文

posted @ 2019-04-21 15:25 晔子 阅读(1497) 评论(0) 推荐(0) 编辑

作业(更新ing)
摘要:2019 五一 DAY 1 未完成 (什么时候补完qingming啊) 2019 五一 出现了!!!周四考试题预支 2019.4.19 1.YBT完成 7 道题目(1)广搜 3 道 (2)最短路 4 道 2.写至少 2 篇博客 (据说集中精力,一个上午/下午就能写完) 1. 一个 又一个 球细胞数目 阅读全文

posted @ 2019-04-18 21:24 晔子 阅读(186) 评论(1) 推荐(0) 编辑

P1636 Einstein学画画
摘要:一笔画问题 P1636 Einstein学画画 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。 奇点:跟这个点相邻的边数目有奇数个的点 不存在奇数个奇点的图 PS: 对于有一笔画的图,存在以下两个定理: 定理一:存在欧拉路的条件:图是连通的,有且只有2个 阅读全文

posted @ 2019-04-17 21:18 晔子 阅读(221) 评论(0) 推荐(0) 编辑

P1744 采购特价商品 最短路径
摘要:P1744 采购特价商品 图论 最短路径算法 弗洛伊德算法 O(n^3) 代码: 阅读全文

posted @ 2019-04-17 20:45 晔子 阅读(219) 评论(0) 推荐(0) 编辑

P1605 迷宫
摘要:P1605 迷宫 这是一道毒瘤题。。。 这是一道广搜题 bfs 。。。 注释: 1.memcpy(b,a,sizeof(a)) 把 a 的值全部复制给 b memcpy(b,a,sizeof(int)*k) 把 a 中的 k 个元素复制给 b 头文件:#include<cstring> 代码: 这还 阅读全文

posted @ 2019-04-16 19:53 晔子 阅读(481) 评论(0) 推荐(0) 编辑

U68364 _GC滑迷宫
摘要:U68364 _GC滑迷宫 本题的特殊之处在于,_GC只能滑着走。具体来说就是,选定一个方向后,_GC会一直向该方向滑,直到撞到墙。 阅读全文

posted @ 2019-04-14 16:26 晔子 阅读(287) 评论(3) 推荐(0) 编辑

最少步数&P1443 马的遍历
摘要:1330:【例8.3】最少步数 s数组:记录(1,1)到达每一点需要的最少步数 s[1][1]自然为 0,其余初始化为 -1 que数组:que[#][1] 表示(1,1)可到达点的 x 坐标 que[#][2] 表示(1,1)可到达点的 y 坐标 que[#][3] 表示(1,1)可到达点的 最少 阅读全文

posted @ 2019-04-13 11:45 晔子 阅读(580) 评论(2) 推荐(0) 编辑

1332:【例2-1】周末舞会
摘要:1332:【例2-1】周末舞会 1332:【例2-1】周末舞会 【题目描述】 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模 阅读全文

posted @ 2019-04-13 11:08 晔子 阅读(1464) 评论(0) 推荐(0) 编辑

1333:【例2-2】Blah数集
摘要:1333:【例2-2】Blah数集 注意是数组,答案数组中不能有重复数字 q数组是存储答案的 代码: 阅读全文

posted @ 2019-04-13 10:44 晔子 阅读(2201) 评论(0) 推荐(0) 编辑

P1451 求细胞数量
摘要:P1451 求细胞数量 解读一下题目(结合样例) 其实所有非零数字性质都是一样的,方便起见把他们都处理为1 因此这个阵中只有0,1两个数字 此时我们把0数字虚化(再摘下眼镜) 您会发现有4个细胞(4个小聚落) 一定要注意这个样例!!! 一定要注意这个样例!!! 一定要注意这个样例!!! 他在输入细胞 阅读全文

posted @ 2019-04-13 08:39 晔子 阅读(611) 评论(0) 推荐(0) 编辑

高斯消元
摘要:高斯消元 高斯消元可真是复杂啊。。。。。 在 OI 中一般用于两点:求解线性方程组(不常见) & 求线性基(常见) 高斯消元求解n元一次线性方程组的板子题: P3389 【模板】高斯消元法 举个栗子: 2x + y - z = 8 -3x - y + 2z = -11 -2x + y + 2z = 阅读全文

posted @ 2019-04-12 21:07 晔子 阅读(310) 评论(0) 推荐(0) 编辑

P1996 约瑟夫问题
摘要:P1996 约瑟夫问题 广度优先搜索 我竟然寄几做对了 这个题用到了队列 下面详细解释: 我的代码: 白树上的代码真的是晦涩难懂。。不敲了 柏树原题 题还是得多敲几遍。。 泥看我过了一天就不会做了。。 阅读全文

posted @ 2019-04-11 20:46 晔子 阅读(421) 评论(0) 推荐(0) 编辑

欧拉函数
摘要:欧拉函数 在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。 其中p1, p2……pn为x的所有质因数,x是不为0的整数 分解n=p1q1 * p2q2 * p3q3 * ……* pkqk φ(n)= n*(1 - 1/p1) *(1 - 1/p2) *(1 - 1/ 阅读全文

posted @ 2019-04-09 10:27 晔子 阅读(2305) 评论(0) 推荐(0) 编辑

清明 DAY 1
摘要:数学基础 Part 1. 高精度计算 Part 2. 模意义下的运算 mod 对一个数取模,其实就是取余数 注意: • 无除法运算 • 满足基本的交换律、分配率、结合律 • 对中间结果取模不影响最终答案 Part 3. 快速幂 • 无除法运算 • 满足基本的交换律、分配率、结合律 • 对中间结果取模 阅读全文

posted @ 2019-04-08 21:22 晔子 阅读(186) 评论(0) 推荐(1) 编辑

P1012 拼数
摘要:P1012 拼数 输入输出样例 输入样例 3 13 312 343 输出样例 34331213 注意 当你输入: 6321 32 407 135 13 217 应该输出: 4073232121713513 代码: #include<iostream> #include<cstdio> #includ 阅读全文

posted @ 2019-04-07 21:23 晔子 阅读(135) 评论(0) 推荐(0) 编辑

P5015 标题统计
摘要:P5015 标题统计 ‘ ’ 不等于空格,空格是个字符 代码: 阅读全文

posted @ 2019-04-07 21:20 晔子 阅读(191) 评论(0) 推荐(0) 编辑

P1313 计算系数
摘要:P1313 计算系数 所以可以将题目转化为求 C(k , m)*( ax ) ^ n * ( by ) ^ m 的系数 C(k , m)* a ^ n * b ^ m 提示: 1.组合数和杨辉三角形元素一一对应 把杨辉三角形放入一个二维数组,C(n , m)对应第n行第m列元素 注意起点为0行0列 阅读全文

posted @ 2019-04-07 21:13 晔子 阅读(211) 评论(0) 推荐(0) 编辑

P1066 2^k进制数
摘要:P1066 2^k进制数 这个题目还是没有听明白。。。借鉴一下某位不愿透露的邱姓dalao的blog。。。 结合一下题解 普及一下知识:一个2^k进制n位数转换成2进制数时最多有n*k位 试图理解 。。。。。。。。。。。。。。。。 。。。。真的太南啦不然你就结合一下blog。。。。认错 代码: 阅读全文

posted @ 2019-04-07 21:10 晔子 阅读(230) 评论(0) 推荐(0) 编辑

P2312 解方程
摘要:P2312 解方程 我借鉴了一下某位不愿透露姓名的丁大佬的代码,他讲了一遍。。。但是我并没有听懂 这个题目呢我们用到了秦九韶算法 把一个n次多项式 改写成如下形式: 求多项式的值时,首先计算最内层括号内一次多项式的值,即 然后由内向外逐层计算一次多项式的值,即 这样,求n次多项式f(x)的值就转化为 阅读全文

posted @ 2019-04-07 20:59 晔子 阅读(261) 评论(0) 推荐(0) 编辑

P2822 组合数问题
摘要:P2822 组合数问题 其实以0行0列开始,在杨辉三角形里,每个数字对应一个组合数 1 //(0,0) 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 这样: C33=1 C43=4 其实题面的意思就是: 以Cnm为右下角的数字, 阅读全文

posted @ 2019-04-07 20:43 晔子 阅读(344) 评论(0) 推荐(0) 编辑

清明 DAY2
摘要:数论 数论是研究整数性质的东西 也就是 lim π(x)=x/ ln x (x->无穷) X越大越稀疏 证明: ∵ p|ab ∴ ab有因子p 设 a=p1k1p2k2......prkr b=q1t1q2t2......qwtw 那么ab= p1k1p2k2......pr‑kr q1t1q2t2 阅读全文

posted @ 2019-04-06 20:42 晔子 阅读(242) 评论(0) 推荐(0) 编辑

一个讲课截屏 清明DAY2
摘要:灰常混乱 放弃吧。。。。。。。。 不断做平方差公式 到i时,前面已经求出之前数字的逆元了 r是一个比i小的数 第四行×i,r 的逆元 BSGS 暴力枚举枚举到Φ(m)个 阅读全文

posted @ 2019-04-06 19:36 晔子 阅读(168) 评论(0) 推荐(0) 编辑

素数与筛法
摘要:素数判别 1.O(x) [根本不用] 2.sqrt判别 O(√N) 如果x可以表示为两个因子相乘 x=a*b 假设a<=b 那么x>=a*a a<=√x 只需要枚举a<=√x就可以了 3.Miller-Rabin 素性测试 素性测试: 一个素数n,除了2,n-1 一定为偶数 a 属于(1,n-1 ) 阅读全文

posted @ 2019-04-05 19:53 晔子 阅读(1278) 评论(0) 推荐(0) 编辑

费马小定理与GCD&LCM
摘要:若 t = 1 , a ^ ( p - 2 ) 为 a 在取模 p 意义下的乘法逆元 通常用 inv 表示 证明: b * a =(三等)1(mod p) a ^ ( p - 2 ) * a =(三等)1(mod p) 把两个阶乘拆开,发现组合数只与 n!、(n!)^ ( p - 2 ) 有关 辗转 阅读全文

posted @ 2019-04-04 21:01 晔子 阅读(512) 评论(0) 推荐(0) 编辑

快速幂
摘要:快速幂 a^b%p=?? 暴力O(b) 当然不可以!! 两种解决思路: • 分治 • 快速幂 暴力O(b) 当然不可以!! 两种解决思路: • 分治 • 快速幂 两种解决思路: • 分治 • 快速幂 两种解决思路: • 分治 • 快速幂 快速幂(正常操作) 举个例子: 计算 a^7 把它拆分:a^7 阅读全文

posted @ 2019-04-04 20:28 晔子 阅读(282) 评论(0) 推荐(0) 编辑

蜜汁头文件&&slow slow read
摘要:slow slow read 板子 inline int read() { int ans=0; char last=' ',ch=getchar(); while(ch<'0'||ch>'9') last=ch,ch=getchar(); while(ch>='0'&&ch<='9') ans=a 阅读全文

posted @ 2019-04-04 19:54 晔子 阅读(262) 评论(0) 推荐(0) 编辑

高精度计算
摘要:高精度计算 看一下c++存储范围: Int &long long范围: Int [ -231 , 231-1 ] long long [ -263 , 263-1 ] ≈ 1020 由于C++储存的最大整数是 long long 类型的,2^63左右,可是如果我们要计算的数超过了这个范围,那就会爆了 阅读全文

posted @ 2019-04-04 19:35 晔子 阅读(1026) 评论(0) 推荐(0) 编辑

高精度除以低精度
摘要:#include #include #include #include #include #include using namespace std; char str[1000]; int a[1000],b[1000],c[1000]; int main(){ scanf("%s", str); int len=strlen(str); for(int i=len-1;... 阅读全文

posted @ 2019-04-04 11:21 晔子 阅读(325) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示