字母

康托展开

匿名 (未验证) 提交于 2019-12-02 23:54:01
直接进入正题。 康托展开 Description 现在有"ABCDEFGHIJ”10个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的? Input 第一行有一个整数n(0<n<=100000); 随后有n行,每行是一个排列; Output 输出一个整数m,占一行,m表示排列是第几位; Sample Input 3 ABCDEFGHIJ HGEBFACDJI GDEDHJBXIA S ample Output 1 2803322 1911924 其实思路可能不用说也能想出来 。 设总长度为len,枚举每一个字母,找它后面比它小的字母个数,记为k。那么每一位的答案就是k*(len-i)!。 下面给出草率证明: 先举个栗子,比如说一个字符串BACED。 (样例太长懒得解释) 第一位B找到了A一个比它小的字母,说明这个字符串排在所有以A开头的字符串之后(显然共有4!个),所以B对最终答案的贡献是4!。 第二位A没找到比它小的字母,说明这个字符是所有以B开头的字符串中第二位最小的,所以B对最终答案没有贡献。 第三位C 没找到比它小的字母,说明这个字符是所有以BA开头的字符串中第二位最小的, 所以C对最终答案没有贡献。 第四位E找到了E一个比它小的字母,说明这个字符串排在所有以BACD开头的字符串之后(显然共有1!个),所以E对最终答案的贡献是1!。

音变规则-字母演变法

匿名 (未验证) 提交于 2019-12-02 23:48:02
a e i o u y-主发音 oo-ee-ea-ae-oi-eao-io-ai-ia   1.beg i n-beg a n-beg u n   2.t o p-t i p-t a p   3.s i ng-s o ng   4.g o ld-g i ld   5. e nem y - i nim ic al full-fill=fulfill 注意英语单词 过去式 ,总是 元音字母改变 1.b-p-ph-f-v-w    w ine- v ine-vine gar    b other- f rater 2.c-k-ck-que-ch-tch   ben ch -ban k    c andle- k indle   che ck -che que   blan k -blan ch   pea k -pi tch 3.h,e不发音字母可脱落   mo th er -ma t er nal-maternity   father-paternal-paternity   brother-fraternal-fraternity 4.v-w/g/ct 5.w-g    w ard- g uard    w ane- g aunt 转载请标明出处: 音变规则-字母演变法 文章来源: 音变规则-字母演变法

标示符(变量名、类名、函数名、常量名等)命名规则

匿名 (未验证) 提交于 2019-12-02 23:47:01
由26个英文字母大小写,数字:0-9,符号: _、$组成。 规则: 1. 数字不可以开头 2.不可以使用关键字 例如:class就不可以,因为 class 是关键字。 3.不可以包含“_、$”以外的特殊符号,例如:“DemoTest”就不可以,其中的空格就是特殊符 号。 一些常用命名规则:  包名:多单词组成时所有字母都小写。  例如:xxxyyyzzz 例如:XxxYyyZzz 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。 例如:xxxYyyZzz 常量名:所有字母都大写。多单词时每个单词用下划线连接。 例如:XXX_YYY_ZZZ

Codeforces 191A - Dynasty Puzzles - [DP]

匿名 (未验证) 提交于 2019-12-02 23:06:17
题目链接: https://codeforces.com/problemset/problem/191/A 题意: 给出 $n$ 个小写字母组成的字符串,两个字符串如果前者的最后一个字母与后者的首字母相同,那么两者可以连接, 同时要求最后得到的一个长字符串的首尾字母也要相同,求最长的满足要求的字符串的长度是多少。 题解: 这个DP蛮有意思的。 记 $f[x][y]$ 为从第一个字符串到当前字符串,字母 $x$ 到字母 $y$ 的最长字符串的长度。 这样,对于当前的字符串 $s_i$,状态转移可以枚举 $k = a \sim z$,维护 $f[k][y] = \max(f[k][y], f[k][x]+|s_i|)$。 由于枚举字符串是从 $s_1$ 到 $s_n$ 的,所以可以确保组合起来时的顺序是正确的,状态转移也是正确的。 AC代码: #include<bits/stdc++.h> using namespace std; const int maxn=5e5+10; int n; string s[maxn]; int f[30][30]; int main() { ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); cin>>n; for(int i=1;i<=n;i++) cin>>s[i]; memset(f,-1

784. 字母大小写全排列

匿名 (未验证) 提交于 2019-12-02 22:56:40
给定一个字符串 S ,通过将字符串 S 中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。 示例: 输入: S = "a1b2" 输出: ["a1b2", "a1B2", "A1b2", "A1B2"] 输入: S = "3z4" 输出: ["3z4", "3Z4"] 输入: S = "12345" 输出: ["12345"] 注意: S 12 。 S 解题思路:先将S放到数组里,循环遍历S的每个字符,当为字符的时候,遍历数组,将字符位转变成(这个字符原大写改为小写,小写改为大写)然后存入数组中。 tip 要把所有的大小写都写入数组中,数组大小是变化的的,所以当遍历数组之前,先将数组的大小赋予一个变量。 class Solution { public: char switchChar(char c){ if(c>='A' &&c<='Z'){ return tolower(c); } else if(c>='a' &&c<='z'){ return toupper(c); } } vector<string> letterCasePermutation(string S) { vector<string>l; l.push_back(S); for(int i=0;i<S.size();i++){ if(isalpha(S[i])){ int

Python判断字符串是否全是字母或数字

匿名 (未验证) 提交于 2019-12-02 22:11:45
str.isnumeric(): True if 只包含数字;otherwise False。注意: 此函数只能用于unicode string str.isdigit(): True if 只包含数字;otherwise False。 str.isalpha():True if 只包含字母;otherwise False。 str.isalnum():True if 只包含字母或者数字;otherwise False。 文章来源: Python判断字符串是否全是字母或数字

【PHP-CTF】无字母无数字webshell

匿名 (未验证) 提交于 2019-12-02 22:10:10
PHP无字母数字构造Webshell 题目 index.php: <?php include 'flag.php' ; if ( isset ( $_GET [ 'code' ] ) ) { $code = $_GET [ 'code' ] ; if ( strlen ( $code ) > 40 ) { //检测字符长度 die ( "Long." ) ; } if ( preg_match ( "/[A-Za-z0-9]+/" , $code ) ) { //限制字母和数字 die ( "NO." ) ; } @ eval ( $code ) ; //$code的值要为非字母和数字 } else { highlight_file ( __FILE__ ) ; } //$hint = "php function getFlag() to get flag"; ?> flag.php: <?php function getFlag ( ) { $flag = "111111111111111111" ; echo $flag ; } ; ?> 解题过程 方法一 在PHP中,两个字符串执行异或操作以后,得到的还是一个字符串。所以,我们想得到a-z中某个字母,就找到某两个非字母、数字的字符,他们的异或结果是这个字母即可。 <?php var_dump ( '#' ^ '|' ) ; /