自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 【基本算法】空间压缩技巧(康托、二进制压缩、离散化、哈希)

文章目录一.简介二.康托展开与逆康托展开1.思想2.实现3.代码4.逆康托展开三.二进制压缩1.思想2.实现3.应用4.bitset四.离散化1.思想2.实现3.代码五.哈希1.思想2.实现3.字符串哈希一.简介时间复杂度和空间复杂度是衡量一段程序很重要的两个指标。利用映射思想可以大幅减少空间复杂度有很多算法也是基于压缩空间的技巧实现的二.康托展开与逆康托展开1.思想康托(Cantor)展开是一种全排列到数的映射,它的实质是通过排列的字典序建立的一个一一对应的双射例:n=5时排列 1 2 3

2020-12-29 15:59:41 2577 1

原创 【数据结构课设】 浮点数计算器

一.简介1.功能介绍:实数的计算,支持取对数、幂次、开方及加减乘除运算2.模块设计:1)菜单界面2)计算器功能简介3)计算器功能实现3.计算器功能实现方法:1)字符串读入用户的表达式2)处理字符串,包括提取实数以及中缀转后缀(维护一个运算符优先级严格单调递增的栈即可)3)后缀表达式的计算二.代码#include <iostream>#include <stack>#include <cstdio>#include &..

2020-12-23 20:08:04 1851

原创 【博弈论】ACM博弈论知识总结

博弈论的入门令我十分痛苦,网上(包括竞赛教材)往往都只说怎么做,却不说为什么。综合各个资料,我详细总结了一下博弈论的知识,希望能对后来人也有所帮助吧引入1.游戏ACM博弈论中考察的游戏大都以如下形式进行:①两人轮流操作,每次可以在合法的操作集合中选取一种操作进行,游戏的局面/状态会随着操作而发生改变②这个合法的操作集合会随着局面的改变而发生改变:比如在取石子的游戏中,规定可以取{1、3、5}个石子,在场上有6个石子时合法操作集合为{1、3、5},但是如果现在只剩下2个石子,那合法操作集合就变为了

2020-12-19 16:34:55 2039 4

原创 【博弈论】博弈论题单&&题解

会不断更新的(咕咕咕)文章目录1.hdu-1847 Good Luck in CET-4 Everybody!1.hdu-1847 Good Luck in CET-4 Everybody!题目链接:hdu-1847题目大意:两个人轮流从n张牌中取牌,每次只能取{1,2,4……}等2的幂次张牌。最后把牌取完的人获胜分析:直接推SG函数,发现规律:只要n%3==0则先手必败这个规律和巴什博弈很像其实这道题和巴什博弈也很像,都是从一堆东西中取东西,只是对取牌数量的限制不一样而已3张牌是一.

2020-12-17 20:03:05 1920 3

原创 【博弈论】SG函数/SG定理(组合游戏)

文章目录一.前置知识1.异或(xor)2.必胜态/必败态二.Nim游戏1.游戏内容2.结论(Bouton定理)3.证明三.SG函数1.作用2.mex运算3.SG函数计算4.实例(取石子游戏)5.Sprague-Grundy定理一.前置知识1.异或(xor)定义:用符号⊕表示异或运算两个一位二进制数运算时:a⊕b=(¬a∧b)∨(a∧¬b)a⊕b= (¬a ∧ b) ∨ (a ∧¬b)a⊕b=(¬a∧b)∨(a∧¬b)1⊕0=11⊕0=11⊕0=1 ; 0⊕1=10⊕1=10⊕1=1;1⊕

2020-12-17 00:11:15 940

原创 【数论】 质数知识总结(质数判断、筛选、质因子分解、互质)

文章目录一.定义二.质数的判断二.质数的筛选一.定义质数,又称素数,若一个正整数无法被除了1和它自身以外的其它数整除,则称其为质数,否则为合数。特殊地,1既不是合数也不是质数二.质数的判断试除法: 检查所有可能成为n的因子的数,若没有找到因子,则证明这个数是一个质数一种朴素的做法就是从2遍历到N-1观察有无N的因子,若没有则说明N为质数,依据的想法是N的因子必然在1~N的范围内改进: 其实我们只要找到一个N的因子(除了1和它本身)就可以证明N是个合数。定理:如果N是一个合数,则必然存在一个N的

2020-12-11 22:47:35 3822 1

原创 [欧拉函数】 POJ 3090 Visible Lattice Points 详解

题目链接:https://vjudge.net/problem/POJ-3090题目大意:A lattice point (x,y) in the first quadrant (xandyare integers greater than or equal to 0), other than the origin, is visible from the origin if the line from (0, 0) to (x,y) does not pass through any ...

2020-12-11 22:44:51 222

原创 【二叉堆】二叉堆的实现

文章目录一.简介一.简介二叉堆支持插入、删除、查询最值,和stl库中的优先队列类似。相比优先队列,二叉堆还可以支持删除特定结点的操作,但是写法繁琐,因此应用不多。

2020-12-11 16:39:35 193

原创 【计算几何】 凸包训练题解 (待更新)

涉及知识点:1.向量叉积及求凸包文章目录A - Beauty ContestB - WallL - Scrambled PolygonA - Beauty Contest题目链接:POJ2187题目大意:给定平面中N个点,求最远点对分析:①最远点对必定在凸包上②暴力枚举凸包上的点,找最远距离代码:#include<cstdio>#include <algorithm>using namespace std;typedef struct{ int x;

2020-12-08 15:44:57 889

原创 【单调队列】 Hdu 2559 Garbage collecting station 题解

文章目录题目大意分析构建模型解题思路代码题目链接:HDU-2559这道题的第一发AC,被我vjudge张翼德拿下啦hhhhhhh这题网上找不到题解令我有些懵逼,但是没想到给整出来了。题目大意有n个垃圾站点,有一辆卡车按照一定的顺序经过这n个垃圾站点,最后把垃圾运到终点站。设运送垃圾的费用为垃圾的质量×运送的距离。题目给出每个垃圾站点的垃圾质量,及其到下一个站点的距离(最后一个垃圾站点的下一站即为终点站)现在可以令其中两个站点变为储存垃圾的站。假设令第i个站点和第j个站点成为储存垃圾的站,则第1

2020-12-08 13:00:53 192 1

原创 东北林业大学第15届校赛(大二组) 题解

文章目录A.小林找工作题目大意:代码A.小林找工作题目大意:给定小林的n个工作地点的位置(数轴上),然后给出m个小林朋友的家,对于每一个朋友,输出小林的工作地点中离其最近的一个对小林的n个工作地点排序后二分查找,注意细节即可代码#include <cstdio>#include <algorithm>using namespace std;int p[100005];int main(){ int n,m; scanf("%d%d",&am

2020-12-07 14:44:35 741 1

原创 【邻接表】邻接表的静态实现(链式前向星)及vector实现

文章目录链表(数组模拟)引入模板邻接表引入链表(数组模拟)引入链表相比于数组:优势:插入删除操作非常快,并且因为动态分配内存的缘故,即便事先不知道数据范围的大小也没关系,对内存的使用效率较高;劣势:查询速度慢,且可能内存泄漏。而且,在ACM比赛中用链表写的程序不容易调试所以,可以使用数组来模拟链表,因为ACM的题目都会事先给出数据的范围。模板用数组模拟链表,就是给每一个结点编一个号,用这个号码来代替指针指向结点结点的建立:const int maxn=10000000;typed

2020-12-07 14:12:29 1159 2

原创 【单调队列/单调栈】 单调栈/单调队列题单&&题解

文章目录A - Bad Hair Day题目大意分析代码B - Feel Good题目大意分析代码C - Largest Rectangle in a Histogram题目大意分析代码A - Bad Hair Day题目链接:POJ-3250题目大意有N头牛,每头牛高度为HiH_iHi​,一头牛可以看到排在它后面的身高小于它的牛的发型,以一头牛看到另一头牛的发型为事件,问该事件总共发生的次数。以样例为例:610374122第一个6表示有6头牛①第一头牛高度为10,可以看到第

2020-12-05 18:06:21 397

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除