基础算法
lero1005
菜是原罪。
展开
-
尺取模板题
套路套路都是套路POJ-2100#include <cstdio>#include <stack>#include <algorithm>#include <cstring>#include <cmath>#include <iostream>#include <map>#include &...原创 2019-08-01 21:08:15 · 126 阅读 · 0 评论 -
高斯消元总结
什么是高斯消元高斯消元是用于解形如的线性方程组的。我们可以将系数存在系数和常数保存在增广矩阵中,通过行变换列变换求解。高斯消元的思想是,将方程组中一方程中的未知数用含有另一未知数的方程表示,代入原方程,即可消去原方程的一个未知数。可以看出,高斯消元的时间复杂度是O(n^3)的。我们来看一个例子:求解线性方程组首先,要将L1以下的等式中的x消除,然后再将L2以下的等式中的y...原创 2019-09-10 16:28:10 · 795 阅读 · 0 评论 -
学会将互不干扰的因素分离考虑(LightOJ-1323 LightOJ-1349)
这两个题都是将二维的运动分离考虑的,最初看到无从下手,分离后情况就简单了许多。LightOJ-1323题意:现在有个矩形长l宽w矩形内部n个小球,速度相等,方向沿{左上,左下,右上,右下}中间的一个现在给出n个小球的坐标,问第k秒时这些小球的坐标是什么,要求输出按横纵坐标排序存在碰撞情况:1.碰到边界,速度反向2.两球相碰输入是T,矩形长度L,W,小球数量N和秒数K...原创 2019-08-05 23:33:41 · 158 阅读 · 0 评论 -
LightOJ - 1058
题意:给定n个顶点和其坐标,问这n个顶点里挑四个能组成几个平行四边形Sample Input260 02 04 01 13 15 17-2 -18 95 71 14 82 09 8Sample OutputCase 1: 5Case 2: 6思路:我过于愚蠢。 判断平行四边形最简单的形式就是对角线相互平分...原创 2019-08-08 00:02:44 · 151 阅读 · 0 评论 -
HDU-1847(裸SG)
1、总共n张牌;2、双方轮流抓牌;3、每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…)4、抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;假设Kiki和Cici都是足够聪明(其实不用假设,哪有不聪明的学生~),并且每次都是Kiki先抓牌,请问谁能赢呢?#include <cstdio>#include <algorithm>#...原创 2018-08-14 22:35:36 · 446 阅读 · 0 评论 -
几种博弈问题及算法
巴什博弈巴什博弈是最基础的博弈游戏。有一堆石子,共计n颗,规定二人每次拿1~m颗石头,先拿完者胜,求解先手是否能赢。算法思想非常好考虑:因为每次最多拿m颗石头,所以当n是m+1的倍数时,first无论拿多少颗,second只要在first之后拿能够凑够m+1颗石子就能胜利,所以first必败。如果n不是m+1的倍数,假设n = (m+1)*s + r(1 <= r...原创 2018-08-14 22:00:30 · 9587 阅读 · 0 评论 -
快速幂算法
对于a^n,使用迭代算法的复杂度为O(n),而且cmath的函数库中,pow(a,b)的返回值是int型,稍不注意就会丢失精度。而快速幂的算法的复杂度则是O(logn)的,原理也很简单,惊了,nice兄dei!我们知道,任何一个数都可以拆成2的n次幂的和的形式,如,那么,对于任意一个数非负数n,,我们可以利用一个中间变量base,不停对base进行乘方运算,从而得到n,n^2,n^4等形如...原创 2018-08-29 21:09:21 · 143 阅读 · 0 评论 -
[Gym-102072A] 矩阵快速幂模板+计算斐波那契数列
题目链接:【深蓝】教科书般的亵渎"现在给大家展示一波教科书般的亵渎" "扭了扭了"炉石传说是一款比较火的卡牌游戏,不同的卡牌间可以打出许多不可思议的配合。炉石传说的战斗大部分由随从来完成。每个随从都有血量。当随从血量为0时,随从就会死亡。"恐怖的奴隶主"是一个有3血的随从。他的特效是:每当该随从收到伤害且没有死亡时,召唤一个恐怖的奴隶主。也就是说,一个3血或2血的奴隶主,受到1点...原创 2019-04-01 15:52:46 · 306 阅读 · 0 评论 -
洛谷P4783 (高斯消元求矩阵的逆 模板)
/** 高斯消元矩阵求逆**/#include <cstdio>#include <stack>#include <algorithm>#include <cstring>#include <cmath>#include <iostream>#include <map>#include ...原创 2019-07-24 22:15:46 · 186 阅读 · 0 评论 -
洛谷P1092 (高斯消元+搜索/二进制状态压缩)
题目描述所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#9865#045+ 8468#6633 44445509678其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是55和33,第二行的数字是55。现在,我们对问题做两个限制:首先,我们只考虑加法的虫食算。这里的加法...原创 2019-07-24 23:30:29 · 234 阅读 · 0 评论 -
单调队列入门
求1~m全覆盖的最短区间651. 逛画展#include <cstdio>#include <stack>#include <algorithm>#include <cstring>#include <cmath>#include <iostream>#include <map>#inclu...原创 2019-07-29 20:40:10 · 213 阅读 · 0 评论 -
模意义下大整数乘法
计算与二进制取幂的思想一样,这次我们将其中的一个乘数表示为若干个 2 的整数次幂的和的形式。因为在对一个数做乘 2 并取模的运算的时侯,我们可以转化为加减操作防止溢出。递归方法如下:ll p;ll qmul(ll a, ll b, ll p){ ll res = 0; a = ((a%p)+p)%p; b = ((b%p)+p)%p; if(a...原创 2019-07-30 23:33:46 · 482 阅读 · 0 评论 -
2019 ICPC上海网络赛-F. Rhyme scheme
F.Rhyme schemeRhyme scheme问答问题反馈编辑代码31.21% 1000ms 65536KA rhyme scheme is the pattern of rhymes at the end of each line of a poem or song. It is usually referred to by using letters to...原创 2019-09-16 14:10:50 · 308 阅读 · 0 评论