随笔分类 -  ACM算法

摘要:基础线性代数 矩阵变换 将向量逆时针旋转90°:左乘 0 -1 1 0 将向量延长至两倍:左乘 2 0 0 2 矩阵乘法 #include <bits/stdc++.h> #define Mod 1000000007 #define maxn 3 using namespace std; long 阅读全文
posted @ 2022-09-22 21:31 钰见梵星 阅读(77) 评论(0) 推荐(0)
摘要:乘法逆元 例题1 小凯的数字 一串数字l(l+1)(l+2).......(r-1)r,例如l=2,r=5,数字为2345,小凯很喜欢数字9,所以写下的数字除以9的余数是多少 $$ 2345=2\times 10^3+3\times 10^2+4\times 10^1+5\times 10^0\ \ 阅读全文
posted @ 2022-09-05 20:13 钰见梵星 阅读(110) 评论(0) 推荐(0)
摘要:模意义下的数和运算 一共有12个苹果,平分给5个小朋友,最后会剩下几个苹果? 12➗5 = 2......2 第一个2叫商,可以用12/5得到,第二个2叫余数,可以用12%5得到,%叫做模,也就是mod 定义1:模 对于整数a,b,满足b>0,则存在唯一的整数q,r,满足$a=bq+r$,其中$0\ 阅读全文
posted @ 2022-09-04 22:26 钰见梵星 阅读(100) 评论(0) 推荐(0)
摘要:洛谷深基hash表 字符串哈希 给定 N 个字符串(第 i个字符串长度为 Mi,字符串内包含数字、大小写字母,大小写敏感),请求出 N 个字符串中共有多少个不同的字符串。 我们不妨先分析简化版的问题: 给定N个自然数,值域为[0,109],求出N个自然数中共有多少个不同的自然数 如果值域为[0,10 阅读全文
posted @ 2022-09-02 13:27 钰见梵星 阅读(43) 评论(0) 推荐(0)
摘要:对拍 写一个随机数据生成器,用一份标程去跑随机生成的数据,另一份自己的程序跑数据,看有没有不一样的答案,然后对照数据修改 //01.bat :loop makedata a std fc std.out a.out if %errorlevel%==0 goto loop pause //std.c 阅读全文
posted @ 2022-09-01 21:00 钰见梵星 阅读(32) 评论(0) 推荐(0)
摘要:牛客竞赛语法入门班 程序设计入门 #include <bits/stdc++.h> //#define LOCAL using namespace std; typedef long long ll; #define IOS ios::sync_with_stdio(false); cin.tie( 阅读全文
posted @ 2022-08-24 21:53 钰见梵星 阅读(59) 评论(0) 推荐(0)
摘要:二分、三分、01分数规划 二分查找 ==单调函数求零点== 二分查找:在一个单调有序的集合中查找元素,每次将集合分为左右两个部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素。 //找>=x的第一个位置 //求最小值 int l=0,r=ll,mid; while(l<r) { mid= 阅读全文
posted @ 2022-08-22 17:19 钰见梵星 阅读(36) 评论(0) 推荐(0)
摘要:KMP 字符串基本概念 字符串 S:无特殊说明,字符串仅由26个小写字母'a'-'z',并用大写字母表示一个字符串 S="abcd" |S|:表示一个字符串的长度 |S|=4 S[i]:表示字符串S第i个位置的字母,下标从1开始(一般在字符串最前面加上一个空格) S[1]='a' 子串 S[l,r] 阅读全文
posted @ 2022-08-19 23:17 钰见梵星 阅读(126) 评论(0) 推荐(0)
摘要:线性dp 引入 引入1:斐波那契数列 //递归 int f(int n) { if(n==0||n==1) return 1; else return f(n-1)+f(n-2); } //递归版本需要每次计算比它小的,很浪费时间,重复计算子问题 //解决方案: //空间换时间,将已经计算过的记录下 阅读全文
posted @ 2022-08-09 14:33 钰见梵星 阅读(27) 评论(0) 推荐(0)