【集训Day2】字符串】的更多相关文章

python_way ,day2 字符串,列表,字典,自学时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=input() 是传什么就是对应的什么,想输入字符串需要加 “” 引号,如果要是不加就认为传入的是个变量. a="hahaha"user=input("shuru :")print(user) shuru :a hahaha 3.0中 只有 input() 了 所以在in…
目录 WC集训DAY2笔记 组合计数 part.1 基础知识 组合恒等式 错排数 卡特兰数 斯特林数 伯努利数 贝尔数 调和级数 后记 补完了几天前写的东西 WC集训DAY2笔记 组合计数 part.1 今天开 幕 雷 击:PKUWC没过 UPD:THUWC也没过,听说群友380过了,也是高一,我378...,WC集训完可以愉快地vanyousee了(呜呜呜 UPD2:由于我在弱校,是高中rk1(黄神MLE了...),苟进了NOIWC 写笔记,就是记结论的意思 基础知识 组合恒等式 \[ 2^n…
自闭集训 Day3 字符串 SAM 考虑后缀树. SAM的parent树是反串的后缀树,所以后面加一个字符的时候相当于往串前面加一个字符,恰好多出了一个后缀. 于是可以以此来理解SAM. 每一条路径对应原串的一个子串. 每一个终止节点对应一些后缀. 所有到同一个点的路径对应的子串互为后缀,长度连续. parent树是反串的后缀树. SAM可以用来构造SA.(???) 回文树 一个串的本质不同的回文子串的个数是\(O(n)​\)的. 每个点只表示一个回文串. SAM和回文树的复杂度都是均摊的,所以…
自闭集训 Day2 线性代数 高斯消元 做实数时,需要找绝对值最大的作为主元,以获取更高精度. 在欧几里得环(简单例子是模合数)意义下也是对的.比如模合数意义下可以使用辗转相除法消元. 欧几里得环:对于任意\(a,b\),都可以定义\(a=qb+r\ \ (|r|<b)\),于是可以辗转相除.(显然,多项式环也是欧几里得环) 逆矩阵 方法与高斯消元类似,左边摆一个原矩阵,右边摆一个单位矩阵,高斯消元的过程中左边的行操作都在右边同样做一遍.最后左边剩下一个单位矩阵,右边就是逆矩阵. 对于方程\(A…
这又是个状压dp (大型自闭现场) 题目大意: 在N*N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入格式: 只有一行,包含两个数N,K . 输出格式: 所得的方案数. 算法分析: 1.显然这又是一道状压的题 2.显然一样是用f数组表示方案数 But 这个f数组需要开三维 为什么呢 我们首先分析一下f的转移情况 f的状态与什么有关呢 首先我们很容易知道我们的dp是从上往下一点点递推实现的 而这个…
字符串(string) [问题描述] 给一个字符串T,问在字符串T 中可以包含最多多少个不重叠的字符串S. 字符串中的每个字符为小写或者大写字母. [输入格式] 第一行输入一个字符串S. 第二行输入一个字符串T. [输出格式] 输出一行,包括一个整数表示答案. [输入样例] Aba Abababa [输出样例] 2 [数据范围] 50%的数据,1<=字符串T 长度<=20000, 1<=字符串S 长度<=100 100%的数据,1<=字符串T 长度<=1000000,…
day1:学习seach和回溯,初步了解. day2:深度优化搜索 T1 洛谷P157:https://www.luogu.com.cn/problem/P1157 题目描述 排列与组合是常用的数学方法,其中组合就是从nnn个元素中抽出rrr个元素(不分顺序且r≤n)r \le n)r≤n),我们可以简单地将nnn个元素理解为自然数1,2,-,n1,2,-,n1,2,-,n,从中任取rrr个数. 现要求你输出所有组合. 例如n=5,r=3n=5,r=3n=5,r=3,所有组合为: 123,124…
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class') print tuple(dict) #字典可以转为元组,返回…
1.首字母大写 name = "wuyuchao"result = name.capitalize()print(result)返回 Wuyuchao------------------------------------------------------------------------------------------------------------ 2.内容居中 name = "wuyuchao"result = name.center(20,'*'…
T1 Description 给定$N$个点,问这$N$个点能构成的三角形个数. Input 第一行一个整数$N$,代表点数. 接下来$N$行,每行两个非负整数$X,Y$,表示一个点的坐标. Output 一个非负整数,即构成三角形个数. Sample Input 5 0 0 1 0 2 0 0 1 1 1 Sample Output 9 HINT $N\;\leq\;100$,保证任意两点不重合,坐标$\;\leq\;10000$. Solution 只要三点不共线就能组成三角形了.是否共线用…
#Author:ersa name = "ersa" #首字母大写capitalize() print(name.capitalize()) name = "my name is ersa" #字符串中 子串 重复的次数 print(name.count("a")) #center() 字符串打印输出在行中间,并指定打印长度,不够可用其他字符补充 print(name.center(50,'-')) #endswith() 判断字符串以什么结尾?…
1. 字符串操作 特性:不可修改 name.capitalize() 首字母大写 name.casefold() 大写全部变小写 name.center(50,"-") 输出 '---------------------Alex Li----------------------' name.count('lex') 统计 lex出现次数 name.encode() 将字符串编码成bytes格式 name.endswith("Li") 判断字符串是否以 Li结尾 &q…
因为太长了 所以一天一天分开发 Day2 昨天晚上没开黑车 没脱衣服就睡了 可能是我难受了…… 新的一天. 早上好. 我没去晨跑,早上先和团长集合了,没看见rkbudlo来 于是就先吃饭了 去机房的时候就看到rkbudlo大神已经坐在里面大题了…… 厉害 考前先打了一下昨天WA掉的树形dp 调了一个小时,终于调出来了. 于是就开始考试了. 考试放在HHHOJ上,离线考的. 结果一看……怎么做过的题啊 关于题目放置 有了一个新科技 感谢YZX T1 Best Cow Line USACO水题 团长…
怎么说呢,今天的题特别的神奇,因为emmmmmm,T1看不懂(一直到现在还没有理解明白期望概率什么的),T2题面看不懂+扩展欧几里得求逆元怎么求我忘了,T3哇,终于看懂一题了,然而写了个50分的程序但是只拿到了20. day2考试就写了T3,还好写了分段,不然可能就要爆零了(写的是50分的程序,但是很明显我的思路出问题了所以只拿了20分的暴力分) T1:对于一个0/1串,其中一个全为1长度为x的子串会加x^3+k,一个全为0长度为x的子串会减x^2+k,现告诉每个位置为1的概率,求期望的分数.数…
字符串在Python中是常用的功能,我们知道,字符串在Python中存储的形式是以字符数组的形式存在,比如"alex"在内存中的存储形式是:["a","l","e","x"],因为我们发现字符串的功能很多与列表的功能相似,比如切片s[:],索引s[index]等常用的方法,我们要知道,既然是字符串的方法,那就有字符串独有之处,字符串可以分割,可以合并,有长度,能够查找替换,还可以设置字符串长度格式,最主要的…
1.hash表(哈希表) codevs 2147 数星星--简单哈希  时间限制: 3 s  空间限制: 64000 KB  题目等级 : 钻石 Diamond 题目描述 Description 小明是一名天文爱好者,他喜欢晚上看星星.这天,他从淘宝上买下来了一个高级望远镜.他十分开心,于是他晚上去操场上看星星. 不同的星星发出不同的光,他的望远镜可以计算出观测到的星星发出的光的数值W.小明当然想尽可能地多看到星星,于是他每看到一颗星星,就要看看他之前有没有看过这颗星星.但是他看的星星太多了,他…
雅礼集训2017Day2 T1 给你一个水箱,水箱里有n-1个挡板,水遵循物理定律 给你m个条件,表示第i个格子上面y+1高度的地方有或没有水 现在给你无限的水从任意地方往下倒,问最多满足多少条件 n,m 1e5 SOL: 考虑答案的表示方法,肯定是类似于dp["区间1到n"]这种的 “区间1到n”这个东西我们可以状压,就过了20% 另外10%的数据只有“有水”的条件 我们cout<<m 另外30%的n平方做法肯定是要用到dp(我没有想出来这个东西怎么搞到n平方) ...…
s.capitalize()  s.upper()  s.lower() s.swapcase()   s.title()  s.center(20,"#")   s.expandtabs()   len(s)   s.startwith("a",0,5)      s.endwith("a",0,5)   s.strip(" ") split(" ")   s.count('a',0,5) s.find(…
回文字(palin) 问题描述: 如果一个单词从前和从后读都是一样的,则称为回文字.如果一个单词不是回文字,则可以把它拆分成若干个回文字.编程求一个给定的字母序列,最多要分割成几部分,使每一部分都回文字. 输入格式: 输入文件有且只有一行,包含一个字符串.字符串由小写英文字母组成(a-z),长度不超过100. 输出格式: 输出文件只一行,为最少的回文字个数. 输入 样例1:anaban 样例2:abaccbcb 样例3:anavolimilana 输出 样例1:2 样例2:3 样例3:5 [解题…
Day2 ---二分 这里直接给出模板 两种对应不同的情况 可以借助数轴理解 int bsearch_1(int l, int r) { while (l < r) { ; if (check(mid)) r = mid; ; } return l; } int bsearch_2(int l, int r) { while (l < r) { >> ; if (check(mid)) l = mid; ; } return l; } 补充:有时候可以借助STL的std::lowe…
1.字符串常用方法 name = "Convict abc" count(): print(name.count("c")) # 2 find(): print(name.find("a"))  # 8 index(): print(name.index("a")) # 8 如果找不到,会报错 根据下标区间取值: print(name[0: 4]) # Conv format(): new_name = "my ne…
思路:我们可以考虑三角剖分,这样问题就变成考虑三角形的选取概率和三角形内有多少个点了. 先用树状数组预处理出三角剖分的三角形中有多少个点,然后用线段树维护,先用原点极角排序,然后枚举i,再以i极角排序,此时线段树的作用就来了,每次到一个询问的教室点,我们就在线段树里面查找之前的概率,统计贡献即可. #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include<…
思路:转换成n条三维空间的直线,求最大的集合使得两两有交点. 有两种情况:第一种是以某2条直线为平面,这时候只要统计这个平面上有几条斜率不同的直线就可以了 还有一种是全部交于同一点,这个也只要判断就可以了. 然后我并不能改出来,wa了好多个点 WA的程序: #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include<algorithm> #defin…
这是Lowest JN dalao昨天上课讲的一道神题其实是水题啦 题意很简单,我们也很容易建模转化出一个奇怪的东西 首先我们对b进行sort,然后我们就可以通过二分来判断出这个数可以和哪些数配对 然后我们稍微想一下就可以知道:每一段区间都是b数组后缀的形式 证明很简单,如果假设当前的数与第\(i\)位上的\(b_i\)不匹配,那么对于比\(b_i\)更小的\(b_{i-1}\)肯定是无法匹配的 然后我们可以转化为一个类似于二分图的完美匹配的问题,只不过其中匹配的数如上面所言是后缀的形式 然后我…
题意:给出一个长度为 n的数列 a和一个长度为 m 的数列 b,求 a有多少个长度为 m的连续子数列能与 b匹配.两个数列可以匹配,当且仅当存在一种方案,使两个数列中的数可以两两配对,两个数可以配对当且仅当它们的和不小于 h. 题解:先把b排序,要想能匹配,由hall定理,b的每个子集(大小为x)都至少有x条连向b,bi递增,和bi连的边也递增,那么当bi连边大于等于i时即可,所以当min(bi-i)>=0时满足条件 线性扫一遍即可,每个a二分b更新线段树即可 //#pragma GCC opt…
点此看题面 大致题意: 给出一个长度为\(n\)的数列\(a\)和一个长度为\(m\)的数列\(b\),求\(a\)有多少个长度为\(m\)的子串与\(b\)匹配.数列匹配指存在一种方案使两个数列中的数两两配对,数配对指它们的和不小于\(h\). 预处理 显然,要判断两个数列是否匹配,肯定是将一个数列从小到大排序,另一个数列从大到小排序,然后逐一判断相应位置上的两个数是否配对. 我们可以将其转化,把\(b_i\)变成\(h-b_i\),然后将\(a\)的某个子串和\(b\)都从大到小排序,再比较…
联盟 题目描述 \(\text{G}\) 国周边的 \(n\) 个小国家构成一个联盟以抵御 \(\text{G}\) 国入侵, 为互相支援,他们建立了\(n−1\) 条双向通路, 使得任意两个国家可以经过通路相互到达. 当一个国家受到攻击时, 所有其它国家都会沿着最短路径前往这个国家进行支援,经过每条通路所需的时间均为\(1\). 定义一个国家的危险程度为所有国家全部赶到需要的最短时间, 联盟的危险程度为所有国家的危险程度的最大值. 为了降低危险程度, 联盟决定断开一条通路并任意连接一条通路,…
难度:☆☆ /*显然可以前缀和*/ #include<iostream> #include<cstdio> #include<cstring> #define N 100007 using namespace std; int n,m,ans,cnt; int a[N],sum[N];char s[N]; int main() { freopen("reverse.in","r",stdin); freopen("rev…
依然很爆炸. T1上来有50分暴力分,打完后注意到了后50分的随机数据,开始想怎么去对付他.然后就开始思考随机数据意味着什么.想了想,想打一个扫描线或者分治.决策了一下还是打了一个扫描线+链表.然而只能过最水的50分…… T2上来打完暴力后觉得好像是trie树之类的,但想不到怎么去打.想先去想一下n^2部分分,但是仍然想不到.最后打了一个n^2贪心骗分也没骗到. T3题目描述根本看不懂,自己瞎琢磨打了一个暴力也对不上.WQ本来想要去解释一下题意然而被老师阻挠了,然后就根本不知道这道题到底是想让我…
D2好点了,最起码不像之前那么水 T1按照常规操作是个找规律,类似于括号匹配的题,但是又不是,推进栈里,然后看最长的左括号有多少个,然后直接cout就可以了 #include <bits/stdc++.h> using namespace std; ; ]; stack <char>s; int main() { cin>>n; ;i<=n;i++) { cin>>a[i]; s.push(a[i]); if(s.top()=='(') point++…