1
DP #1
题目名称 题目名称
匹配

路径
染色
输入文件名 输入文件名
match.in.in.in
block.in
path.in
paint.in
输出文件名 输出文件名
match.out.out.out.out
block.out
path.out
paint.out
每个测试点时 每个测试点时 每个测试点时 每个测试点时 每个测试点时 每个测试点时 限
1s
1s
1s
1.5 s
测试点数目 测试点数目
10
10
10
10
每个测试点分 每个测试点分 每个测试点分 每个测试点分 每个测试点分 每个测试点分 值
10
10
10
10
内存限制 内存限制
256 M
256M
256 M
256 M
是否有部分 是否有部分 是否有部分




题目类型 题目类型
传统
传统
传统
传统
注意:代码长度限制均为 注意:代码长度限制均为 注意:代码长度限制均为 注意:代码长度限制均为 注意:代码长度限制均为 注意:代码长度限制均为 64K ,不开 ,不开 O2 。
2
1 匹配(match.c/cpp/pas)
1.1 题目描述
现在有一排花和一排花盆,每株花有互不相同的标号,花盆也有互不相同的标号,标号
均为1~n,也就是有 n 株花和 n 个花盆。
花与花盆共排成了上下两排,现在希望为尽可能多的花匹配一个对应的花盆,匹配时将
为其连上一条直线。要求匹配所产生的直线互不相交,并且为了和谐,匹配的花与花盆标号
应当相同。
问最多能匹配的对数。
1.2 输入格式
第一行为一个整数n ,分别表示 A、B 的序列长度。
接下来一行 n 个数,表示序列 A。
接下来一行 n 个数,表示序列 B。
1.3 输出格式
输出一行一个整数,表示最多能匹配的对数。
1.4 样例输入
3
1 2 3
1 3 2
1.5 样例输出
2
1.6 数据范围与约定
对于20%的数据,n <= 300。
对于40%的数据,n <= 1000。
对于100%的数据,n <= 100000。
3
2 2 块 (block.c/cpp/pas) .c/cpp/pas) .c/cpp/pas)
2.1 .1 .1 题目描述 题目描述
有一棵 n个结点 个结点 的树,结点从 ,结点从 ,结点从 1到 n标号 。现在 希望 删去 最少 的边,使得 出现 一个 大 小为 K 的联通 块。
2.2 .2 .2 输入格式 输入格式
第一行 两个整数 n, K,代表 树的结点个数 结点个数 ,以及 希望 出现 大小 为 K的联通 块。
接下来 接下来 n-1行,每行 两个 数 u,v,表示 u、v之间 有一条 连边 。
2.3 .3 .3 输出格式 输出格式
输出 一行 一个 数,表示 最少 删去 的边数 。
2.4 .4 .4 样例输入 样例输入
11 611 611 6
1 21 2
1 31 3
1 41 4
1 51 5
2 62 6
2 72 7
2 82 8
4 94 9
4 104 10 4 10
4 114 11 4 11
2.5 .5 .5 样例输出 样例输出
2
2.6 .6 .6 数据范围与约定 数据范围与约定 数据范围与约定 数据范围与约定
对于 20%的数据,保证 %的数据,保证 %的数据,保证 %的数据,保证 1 <= n <= 18。
对于 50%的数据,保证 %的数据,保证 %的数据,保证 %的数据,保证 1 <= n <= 200。
对于 100%的数据,保证 %的数据,保证 %的数据,保证 %的数据,保证 1 <= n <= 1000,1<=K<=n。
4
3 路径 (path.c/cpp/pas) .c/cpp/pas) .c/cpp/pas)
3.1 .1 .1 题目描述 题目描述
给出 一个有 n 个点 m 条边的有向图,每个 条边的有向图,每个 条边的有向图,每个 条边的有向图,每个 条边的有向图,每个 条边的有向图,每个 结点 上有一个 小写 字母 ,定义一条路径的权 ,定义一条路径的权 ,定义一条路径的权 ,定义一条路径的权 ,定义一条路径的权 值是这条路径 值是这条路径 值是这条路径 上出现次数最多的字母个,求这图 出现次数最多的字母个,求这图 出现次数最多的字母个,求这图 出现次数最多的字母个,求这图 出现次数最多的字母个,求这图 出现次数最多的字母个,求这图 出现次数最多的字母个,求这图 出现次数最多的字母个,求这图 最大权值的路径。 最大权值的路径。 最大权值的路径。 最大权值的路径。 最大权值的路径。
3.2 .2 .2 输入格式 输入格式
第一行 两个 整数 n, m,表示 结点 数和边数 。
第二行 一个 不带 空格 的字符串 字符串 ,第 i 个字符 表示 第 i 个结点 对应 的小写 字母 。
3.3 .3 .3 输出格式 输出格式
输出 一行 一个 整数 ,表示 最大 权值 的路径 的权值 ,若为 无穷大 无穷大 则输出 -1 。
3.4 .4 .4 样例输入 样例输入
5 45 4
abaca abaca
1 21 2
1 31 3
3 43 4
4 54 5
3.5 .5 .5 样例输出 样例输出
3
3 .6 .6 .6 数据范围 与约定
对于 20%的数据,保证 %的数据,保证 %的数据,保证 %的数据,保证 1 <= n, m <= 10。
对于 50%的数据 ,保证 1<=n, m<=5000。
对于 100%的数据,保证 %的数据,保证 %的数据,保证 %的数据,保证 1<=n, m<=300000 。
5
4 染色 (paint.c/cpp/pas) .c/cpp/pas) .c/cpp/pas)
4.1 .1 .1 题目描述 题目描述
一个木板上有 一个木板上有 一个木板上有 n 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 个格子,一开始均无色(颜为 0)。现在要进行 )。现在要进行 )。现在要进行 )。现在要进行 )。现在要进行 K 次染色,每 次染色,每 次染色,每 次告 诉你 染区间 染区间 [li,ri],颜色为 ,颜色为 ci。 颜色会被覆盖。 颜色会被覆盖。 颜色会被覆盖。 颜色会被覆盖问最后的木板上所有格子颜色。 问最后的木板上所有格子颜色。 问最后的木板上所有格子颜色。 问最后的木板上所有格子颜色。 问最后的木板上所有格子颜色。 问最后的木板上所有格子颜色。 问最后的木板上所有格子颜色。
4.2 .2 .2 输入格式 输入格式
第一行两个整数 第一行两个整数 第一行两个整数 n; Kn; Kn; K ,表示格子数和染色次。 ,表示格子数和染色次。 ,表示格子数和染色次。 ,表示格子数和染色次。 ,表示格子数和染色次。 ,表示格子数和染色次。 ,表示格子数和染色次。
接下来 K 行,每三个整数 行,每三个整数 行,每三个整数 行,每三个整数 行,每三个整数 li,ri,ci,表示染色 区间和颜,表示染色 区间和颜,表示染色 区间和颜,表示染色 区间和颜,表示染色
区间和颜4.3 .3 .3 输出格式 输出格式
输出 一行 n 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。 个整数,输出这木板上的所有格子颜色。
4.4 .4 .4 样例输入 样例输入
4 2
1 2 4
2 4 1
4.5 .5 .5 样例输出 样例输出
4 1 1 1
4.6 .6 .6 数据范围与约定 数据范围与约定 数据范围与约定 数据范围与约定
对于 10%的数据,保证 %的数据,保证 %的数据,保证 %的数据,保证 n <= 100。
对于 40%的数据 ,保证 n, K<=100000。
对于 100%的数据,保证 %的数据,保证 %的数据,保证 %的数据,保证 1<=n, K<=1000000 ,1<=ci<=1000000。

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#define R(a,b,c) for(register int (a)=(b);(a)<=(c);++(a))
#define nR(a,b,c) for(register int (a)=(b);(a)>=(c);--(a))
#define Ii inline int
#define Iv inline void
#define Il inline long long
#define Ib inline bool
#define INF 0x7ffffff
#define re register
#define ll long long
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Cmin(a,b) ((a)=(a)<(b)?(a):(b))
#define Cmax(a,b) ((a)=(a)>(b)?(a):(b))
#define Fill(a,b) memset((a),(b),sizeof((a)))
#define D_e_Line printf("\n-------------\n");
#define D_e(x) printf("\n______%d_______\n",x)
#define Pause system("pause")
using namespace std;
const int N=;
Ii read(){
int s=,f=;char c;
for(c=getchar();c>''||c<'';c=getchar())if(c=='-')f=-;
while(c>=''&&c<='')s=s*+(c^''),c=getchar();
return s*f;
}
Iv print(int x){
if(x<)putchar('-'),x=-x;
if(x>)print(x/);
putchar(x%^'');
}
int a[N],f[N];
#define ON_JUDGE
int main(){
#ifdef ON_JUDGE
freopen("match.in","r",stdin),freopen("match.out","w",stdout);
#endif
int n=read();
R(i,,n)
a[read()]=i;
int len=;
R(i,,n){
int x=a[read()];
if(x>=f[len])
f[++len]=x;
else{
int l=,r=len;
while(l<=r){
int mid=l+r>>;
f[mid]>=x?
r=mid-:
l=mid+;
}
f[l]=x;
}
}
print(len);
return ;
}
/*
4
1 0 9 7
1 9 7 0 5
1 1 1 0 2
1 1 0 1 2 6
2 3 9 7 5 7
3 4 7 8 5 7 7
4 5 2 3 6 7 1
1 3 4 2 5 6 1 7
1 3 2 4 5 6 7
3 1 4 2 6 5 7
*/

match_My_CreatOnContest.cpp

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#include<bitset>
#define R(a,b,c) for(register int (a)=(b);(a)<=(c);++(a))
#define nR(a,b,c) for(register int (a)=(b);(a)>=(c);--(a))
#define Ii inline int
#define Iv inline void
#define Il inline long long
#define Ib inline bool
#define INF 0x7ffffff
#define re register
#define ll long long
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Cmin(a,b) ((a)=(a)<(b)?(a):(b))
#define Cmax(a,b) ((a)=(a)>(b)?(a):(b))
#define Fill(a,b) memset((a),(b),sizeof((a)))
#define D_e_Line printf("\n-------------\n");
#define D_e(x) printf("\n______%d_______\n",x)
#define Pause system("pause")
using namespace std;
const int N=;
Ii read(){
int s=,f=;char c;
for(c=getchar();c>''||c<'';c=getchar())if(c=='-')f=-;
while(c>=''&&c<='')s=s*+(c^''),c=getchar();
return s*f;
}
Iv print(int x){
if(x<)putchar('-'),x=-x;
if(x>)print(x/);
putchar(x%^'');
}
int w[N],f[N][];
vector<int>V[N];
//bitset<N>vis;
int ans=;
Iv dfs(int u){
//vis[u]=1;
for(vector<int>::iterator v=V[u].begin();v!=V[u].end();++v){
R(col,,)
f[*v][col]+=f[u][col];
dfs(*v);
}
Cmax(ans,f[u][w[u]]);
}
char s[N];
#define ON_JUDGE
int main(){
#ifdef ON_JUDGE
freopen("path.in","r",stdin),freopen("path.out","w",stdout);
#endif
int n=read(),m=read();
if(n<=){
scanf("%s",s+);
R(i,,n)
w[i]=(s[i]^'a');
R(i,,m){
int u=read(),v=read();
V[u].push_back(v);
}
R(i,,n)
{
R(j,,n){
R(col,,)
f[j][col]=;
f[j][w[j]]=;
}
dfs(i);
}
print(ans);
}
else
printf("-1");
return ;
}
/*
5 4
abaca
1 2
1 3
3 4
4 5 5 4
abacc
1 2
1 3
3 4
4 5 6 5
abcdcc
1 2
1 3
3 4
4 5
5 6 7 6
abacaaa
1 2
1 3
3 4
4 5
5 6
6 7 8 8
acacacaa
2 1
1 4
3 1
5 3
6 5
6 4
3 7
7 8
*/

path_My_CreatOnContest.cpp

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#define R(a,b,c) for(register int (a)=(b);(a)<=(c);++(a))
#define nR(a,b,c) for(register int (a)=(b);(a)>=(c);--(a))
#define Ii inline int
#define Iv inline void
#define Il inline long long
#define Ib inline bool
#define INF 0x7ffffff
#define re register
#define ll long long
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Cmin(a,b) ((a)=(a)<(b)?(a):(b))
#define Cmax(a,b) ((a)=(a)>(b)?(a):(b))
#define Fill(a,b) memset((a),(b),sizeof((a)))
#define D_e_Line printf("\n-------------\n");
#define D_e(x) printf("\n______%d_______\n",x)
#define Pause system("pause")
using namespace std;
const int N=;
Ii read(){
int s=,f=;char c;
for(c=getchar();c>''||c<'';c=getchar())if(c=='-')f=-;
while(c>=''&&c<='')s=s*+(c^''),c=getchar();
return s*f;
}
Iv print(ll x){
if(x<)putchar('-'),x=-x;
if(x>)print(x/);
putchar(x%^'');
}
//#define ON_JUDGE
struct Question{
int l,r,w;
void Init(){l=read(),r=read(),w=read();}
};
int fa[N],ans[N];
vector<Question>V;
Ii Find(int x){
return x==fa[x]?x:fa[x]=Find(fa[x]);
}
Iv Union(int x,int y){
x=Find(x),y=Find(y);
if(x!=y)
fa[x]=y;
}
int n;
Iv Paint(int x,int w){
ans[x]=w;
if(x!=&&ans[x-])Union(x-,x);
if(x!=n&&ans[x+])Union(x,x+);
}
#define ON_JUDGE
int main(){
#ifdef ON_JUDGE
freopen("paint.in","r",stdin),freopen("paint.out","w",stdout);
#endif
n=read();
int m=read();
R(i,,m){
Question ques;
ques.Init(),
V.push_back(ques);
//V.push_back((Question){read(),read(),read()});
}
R(i,,n)fa[i]=i;
//for(vector<int>::iterator it=V.rbegin();it!=V.rend();++it){
nR(i,m-,){
int x=V[i].l;
while(x<=V[i].r){
if(!ans[x])
Paint(x,V[i].w) ;
x=Find(x)+;
}
}
R(i,,n)
printf("%d ",ans[i]);
return ;
}
/*
4 2
1 2 4
2 4 1
*/

paint_AC.cpp

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; const int MAXN = ;
int n, m , first[MAXN] , nexts[MAXN<<] ,
to[MAXN<<] , egnum , vis[MAXN], inStack[MAXN] ,
inDeg[MAXN] ;
char str[MAXN] ; void addEdge(int a, int b){
nexts[++egnum]=first[a], first[a]=egnum , to[egnum]=b , inDeg[b]++ ;
} int dfs(int a){
inStack[a] = vis[a] = true ;
for(int i=first[a];i;i=nexts[i]){
int b=to[i] ;
if(inStack[b]) return - ;
if(!vis[b]) {
if(dfs(b)==-) return - ;
}
}
inStack[a] = false ;
return ;
} int que[MAXN] , head , tail , dp[MAXN][] ; void topoSort(){
head=tail= ;
for(int i=;i<=n;++i) if(inDeg[i]==){
que[tail++]=i;
dp[i][str[i]-'a'] = ;
}
while(head<tail){
int a=que[head++] ;
for(int i=first[a];i;i=nexts[i]){
int b=to[i] ;
for(int j=;j<;++j) dp[b][j]=max(dp[b][j], dp[a][j]) ;
int c=str[b]-'a';
dp[b][c]=max(dp[b][c], dp[a][c]+) ;
if(--inDeg[b] == ){
que[tail++]=b;
}
}
}
} int main(){
freopen("path.in","r",stdin) ;
freopen("path.out","w",stdout) ;
scanf("%d%d%s",&n,&m,str+) ;
for(int i=;i<=m;++i){
int a,b;
scanf("%d%d",&a,&b) ;
addEdge(a,b) ;
}
for(int i=;i<=n;++i){
if(!vis[i] && dfs(i)==-){
printf("-1\n") ;
return ;
}
}
topoSort() ;
int ans= ;
for(int i=;i<=n;++i){
for(int j=;j<;++j){
ans = max(ans, dp[i][j]) ;
}
}
printf("%d\n",ans) ;
return ;
}

path_STD.cpp

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; const int MAXN = ;
int n, K, dp[MAXN][MAXN] ; //dp[i][j]琛ㄧず浠涓烘牴锛岃仈閫氬潡澶у皬涓簀鏃舵渶灏戝垹杈规暟
int first[MAXN] , nexts[MAXN<<] , to[MAXN<<] , egnum , size[MAXN] ; void addEdge(int a,int b){
nexts[++egnum] = first[a] ;
first[a] = egnum ;
to[egnum]=b;
} void dfs(int a,int fa){
int cnt= ;
size[a]= ;
for(int i=first[a];i;i=nexts[i]) if(to[i]!=fa) ++cnt ;
dp[a][] = cnt ;
for(int i=first[a];i;i=nexts[i]){
int b=to[i];
if(b==fa) continue ;
dfs(b,a) ;
int lj = min(K, size[a]+size[b]) ;
for(int j=lj; j>=; --j){
int lk1 = max(, j-size[a]) , lk2 = min(K, size[b]) ;
for(int k=lk1; k<=lk2; ++k){
dp[a][j] = min(dp[a][j-k]+dp[b][k]-, dp[a][j]) ;
}
}
size[a] += size[b] ;
}
} int main(){
freopen("block.in","r",stdin) ;
freopen("block.out","w",stdout) ;
scanf("%d%d",&n, &K) ;
for(int i=;i<n;++i){
int a, b;
scanf("%d%d",&a,&b) ;
addEdge(a,b) , addEdge(b,a) ;
}
memset(dp,0x3f,sizeof(dp)) ;
dfs(,) ;
int ans = dp[][K] ;
for(int i=;i<=n;++i) ans = min(ans, dp[i][K]+) ;
printf("%d\n",ans) ;
return ;
}

block_STD.cpp

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#define R(a,b,c) for(register int (a)=(b);(a)<=(c);++(a))
#define nR(a,b,c) for(register int (a)=(b);(a)>=(c);--(a))
#define Ii inline int
#define Iv inline void
#define Il inline long long
#define Ib inline bool
#define INF 0x7ffffff
#define re register
#define ll long long
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Cmin(a,b) ((a)=(a)<(b)?(a):(b))
#define Cmax(a,b) ((a)=(a)>(b)?(a):(b))
#define Fill(a,b) memset((a),(b),sizeof((a)))
#define D_e_Line printf("\n-------------\n");
#define D_e(x) printf("\n______%d_______\n",x)
#define Pause system("pause")
using namespace std;
const int N=;
Ii read(){
int s=,f=;char c;
for(c=getchar();c>''||c<'';c=getchar())if(c=='-')f=-;
while(c>=''&&c<='')s=s*+(c^''),c=getchar();
return s*f;
}
Iv print(int x){
if(x<)putchar('-'),x=-x;
if(x>)print(x/);
putchar(x%^'');
}
Ii dfs(int u){ }
Iv Topsort(){
int h=,t=;
R(i,,n)
if(in[i]==)
q.push(i),
f[i][str[i]^'a']=;
while(h<t){
int u=q.top();
for(vector<int>::iterator v=V[u].begin();v!=V[u].end();++v){
R(j,,)
Cmax(f[*v][j],f[u][j]);
int c=str[b]^'a';
Cmax(f[*v][c],f[u][c]+);
if(--in[*v]==)
q.push(*v);
}
}
}
#define ON_JUDGE
char s[N];
int main(){
#ifdef ON_JUDGE
freopen("path.in","r",stdin),freopen("path.out","w",stdout);
#endif
int n=read(),m=read();
scanf("%s",str+);
R(i,,m){
int u=read(),v=read();
V[u].push_back(v);
}
R(i,,n)
if(!vis[i]&&dfs(i)==-){
printf("-1\n");return ;
}
Toposort();
int ans=;
R(i,,n)
R(j,,)
Cmax(ans,f[i][j]);
print(ans);
return ;
}
/*
4 2
1 2 4
2 4 1
*/

path_Unfinished.cpp

Conclution:

  T1:一眼LIS,两分钟写bug半小时改bug顺利A掉

  T2:先跳过,后来想出方程,但因为太怂,担心理解错误劳而无功顾全大局而搞了个随机数,溜了.……

  T3:em 可以搞定50分,先让我敲个20分暴力。。。(一个半小时的光阴似乎确凿是去了罢)……

  T4:haha,区间,线段树就行了!,,,Wait! 线段树?不是说好DP专场吗?(虽然标程是并查集*_*?),方程无果,线段树也悲伤,带上40分奇迹溜了罢

最终:

  100+0+10+40=150

  排名还是龟速单调不下降,单比Day1不知不觉已上涨十几名了

CDQZ Day5的更多相关文章

  1. CDQZ集训DAY5 日记

    又一个爆炸的一天…… 早上起来发现貌似是周末,七中放假(别人家的学校(一周一放,一放两天)……)然而感觉状态不是很好,感觉药丸. 题目一上来就装弱,有诈.第一题上来先打暴力,T2不知道怎么打.T3暴力 ...

  2. CDQZ多校集训记

    20171218 DAY0 初相逢 今天的阳光很好,确实好极了.下午开始时,mercer说门外站了一堆人,我看都不用看就知道是衡水的.衡水人,怎么说呢,觉得还是挺不一样的.不知道像凡哥和超哥这种奇异的 ...

  3. 记一周cdqz训练

    #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/w ...

  4. day5

    作业 作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期 ...

  5. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  6. 冲刺阶段 day5

    day5 项目进展 今天我们组的成员聚在一起进行了讨论,首先我们继续编写了学生管理这部分的代码,然后负责数据库的同学完成了数据库的部分,最后进行了学生管理这部分的代码复审 存在问题 因为代码不是一天之 ...

  7. python笔记 - day5

    python笔记 - day5 参考: http://www.cnblogs.com/wupeiqi/articles/5484747.html http://www.cnblogs.com/alex ...

  8. python_way ,day5 模块,模块3 ,双层装饰器,字符串格式化,生成器,递归,模块倒入,第三方模块倒入,序列化反序列化,日志处理

    python_way.day5 1.模块3 time,datetime, json,pickle 2.双层装饰器 3.字符串格式化 4.生成器 5.递归 6.模块倒入 7.第三方模块倒入 8.序列化反 ...

  9. Spark菜鸟学习营Day5 分布式程序开发

    Spark菜鸟学习营Day5 分布式程序开发 这一章会和我们前面进行的需求分析进行呼应,完成程序的开发. 开发步骤 分布式系统开发是一个复杂的过程,对于复杂过程,我们需要分解为简单步骤的组合. 针对每 ...

随机推荐

  1. Python正则表达式的七个使用范例-乾颐堂

    作为一个概念而言,正则表达式对于Python来说并不是独有的.但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别. 本文是一系列关于Python正则表达式文章的其中一部分.在这个系列 ...

  2. 第一次用FontLad~

    FontLad 是一款制作字体的工具 使用流程: 1. 下载.安装软件FontLab Studio2.   File->New菜单,创建一个工程文件,会自动创建一个ASCII码表对应的字体表3. ...

  3. STL扩展容器

    string | array | hash 1. string - 可以视为以字符为元素的一种容器, 可以在字符上进行遍历, 提供begin()/end() - 为了支持迭代器和迭代器适配器 , st ...

  4. 【转载】rabbitmq的发布确认和事务

    地址:https://my.oschina.net/lzhaoqiang/blog/670749 摘要: 介绍confirm的工作机制.使用spring-amqp介绍事务以及发布确认的使用方式.因为事 ...

  5. Codeigniter框架前后台部署(多目录部署)

    个网站一般包含前台和后台并且访问的url是不同的,Codeigniter怎么来部署呢? 在网上看到了一篇比较好的文章: 在下载好的ci的根目录建立一个目录 admin 将application目录中的 ...

  6. 使用火蜘蛛采集器Firespider采集天猫商品数据并上传到微店

    有很多朋友都需要把天猫的商品迁移到微店上去.可在天猫上的商品数据非常复杂,淘宝开放接口禁止向外提供数据,一般的采集器对ajax数据采集的支持又不太好. 还有现在有了火蜘蛛采集器,经过一定的配置,终于把 ...

  7. toolbox类

    新建Qt  应用,项目名称为“c”,基类选择“QWidget”,取消“创建界面”复选框的选中状态. 添加该工程的提供主要显示界面的函数所在的文件,在“c”项目名上单击鼠标右键,在弹出的快捷菜单中选择“ ...

  8. JavaScript语言精粹 笔记01 语法 对象

    内容比较简单,只是从头梳理一下JS的知识 语法空白标识符数字字符串语句 对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染  语法 1 空白 空白可能表现为格式化字符或注释的形式.空白通常没有 ...

  9. 编写高质量代码改善C#程序的157个建议——建议118:使用SecureString保存密钥等机密字符串

    建议118:使用SecureString保存密钥等机密字符串 托管代码中的字符串是一类特殊的对象,它们不可用被改变.每次使用System.String类张的方法之一时,或者使用此类型进行运算时(如赋值 ...

  10. 编写高质量代码改善C#程序的157个建议——建议92:谨慎将数组或集合作为属性

    建议92:谨慎将数组或集合作为属性 数组或集合作为属性会引起这样一个问题:如果属性是只读的,我们通常会认为它是不可用改变的,但如果将只读属性应用于数座或集合,而元素的内容和数量却仍旧可以随意改变.如下 ...