2023 ICPC HEFEI
C 回文自动机
将原字符串复制一遍,防止重复,结尾大于 n nn 的才加入cnt中
之后就是回文自动机的板子123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133int ans = 0;/*---------------回文自动机PAM---------------- 传入字符串下标从0开始- 本质不同的回文子串个数- 所有回文子串个数- 每种回文串出现的次数 cnt(需要get_cnt)- 每种回文串的长度 len- 以下标 i 为结尾的回文串的个数 sed- 每个 ...
abc370
A阅读理解
12345678910111213141516signed main() { IOS; int a, b; cin >> a >> b; if (a ^ b) { if (a == 1 && b ==0) { cout << "Yes" << endl; } else { cout << "No" << endl; } } else { cout << "Invalid" << endl; } return 0;}
B123456789101112131415161718192021222324#define MAX 105int a[MAX][MAX];signe ...
all string
KMP前置
Boder 前缀等于后缀S = bbabbab, 有1和4
周期和循环节p是S的周期 == |S|-p是S的Boder
Border不具二分性
Boeder具有传递性Border的Border也是Border
NEXT数组next[i] = Preffix[i]的非平凡最大Bordernext[1] = 0
next[i]遍历Prefix[i - 1]的所有Border
利用势能分析O(N),常数在2
1234567891011121314151617181920212223242526272829303132333435363738vector<int> prefixFunction(const string &s) { vector<int> pi(s.size()); for (int i = 1, j = 0; i < s.size(); i++) { while (j > 0 && s[i] != s[j] ...
2023 ICPC NANJING
A
数据范围很小,可以每一对跑bfs原因是如果有一个没有掉下去,那就可以回到原来了位置,所以可以暴力去实现这个问题
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103using namespace std;#define MAX 1005int n, m, ans;char s[MAX + 10];vector<string> MAP;int vis[MAX * MAX + 10];bool flag[MAX * MAX + 10];int gao(int i, int j, int r, int c) { return i * m * n * m + j * n * m + r * m + c;}v ...
MySQL Summary
注:复习的时候找到的不错的总结,用于查看操作使用
MySQL基本操作123456789101112/* Windows服务 */-- 启动 MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)/* 连接与断开服务器 */-- 连接 MySQL mysql -h 地址 -P 端口 -u 用户名 -p 密码-- 显示哪些线程正在运行 SHOW PROCESSLIST-- 显示系统变量信息 SHOW VARIABLES
数据库操作123456789101112131415161718-- 查看当前数据库 SELEXCT DATABASE();-- 显示当前时间,用户名,数据库版本 SELSECT now(), user(), version();-- 创建库 CREATE DATABASE [IF NOT EXITS] 数据库名 数据库选项 数据库选项: CHARATER SET charset_name COLLATE collatio ...
regular expression
正则表达式简介正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则的字符串。在表单验证、Url映射等处都会经常用到。
字符元字符
元字符:即为特有含义的字符集
代码
说明
.
匹配除换行字符以外的任意字符
\w
匹配字母数字或下划线或汉字
\s
匹配任意空格字符
\d
匹配数字
\b
匹配单词的开始或结束
^
匹配字符串的开始(在集合字符里[^a]表示非(不匹配)的意思
$
匹配字符串的结束
解释和事例
. 匹配任何任意字符 例如 . 可以匹配 1,n,*,+,- ,等
\d\w\s 匹配第一个字符为数字,第二个字符为字母或数字、或下划线或汉字,第三字符为空格的字符串 例如:11 ,2a , 1_
^\d\d\d$ 匹配三个全部都为数字的字符串 例如: 123,456,789 还可以用于验证输入的字符串是否符合qq(身份证号)的验证 :例如:^\d{8}$ 匹配8位数字的qq号,^\d{15}&匹配15位均为数字的身份证号
\bOlive\b 匹配单词Olive 例如: I Love ...
my js study
概述JavaScript是世界上最流行的脚本语言
入门引入js1.内部引入1234<script> //.... alert("hello woerd");</script>
2.外部引入1<script scr="js/ysmJs,js"></script>
基础语法JS严格区分大小写
数据额类型
number(不区分小数和整数)
NAN -> not a number
Intinity -> 无限大
字符串
布尔值
逻辑运算 同c++
比较运算= 赋值== 等于(类型不一样值一样就行)=== 绝对等于(类型要一样)
NaN与自己也不想等,要用isNAN(NAN)才行
null 空
undefined 未定于的
数组(类型可以不同)
1234var arr = [1, 2, 'hello', null, true];//第二种new Array(1, 3, 3, 4, ...
abc369
ABC369A12345678910111213141516signed main() { IOS; int a, b; cin >> a >> b; if (a == b) { cout << 1 << endl; } else { if((a + b) % 2) { cout << 2 << endl; } else { cout << 3 << endl; } } return 0;}
B12345678910111213141516171819202122232425262728293031signed main() { IOS; int q; cin >> q; int L = -1, R = -1 ...
abc368
abc368题解A先输出后面的再输出前面的就好了12345678910111213141516signed main() { IOS; int n, m; cin >> n >> m; vector<int> v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } for (int i = n - m; i < n + n - m; i++) { cout << v[i % n] << ' '; } cout << endl; return 0;}
B数据范围很小,直接选一次排序一次就好了1234567891011121314151617181920signed main() { IOS; int n; cin >> n; ve ...