闭关修炼屯题中,期末考完A
FJUTOJ
1279
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <cmath>
#include <map>
#include <string> using namespace std;
const int N=+; struct node
{
char str[];
int deep;
}Node;
node s,e,now,tmp; char str[],ttr[]; int vis[N]={};
int use[]={}; void get_prime()
{
///0 is prime
int m=sqrt(N+0.5);
for(int i=;i<=m;i++)
{
if(!vis[i])
{
for(int j=i*i;j<=N;j+=i)
{
vis[j]=;
}
}
}
} bool is_prime(char num[])
{
int data=;
for(int i=;i<;i++)
{
data=data*+num[i]-'';
}
if(vis[data]==)
{
vis[data]=;///去重
return ;
}
return ;
} bool bfs()
{
queue<node>que;
que.push(s);
while(!que.empty())
{
now=que.front();
que.pop();
if(!strcmp(now.str,e.str))
{
printf("%d\n",now.deep);
return ;
}
for(int i=;i<;i++)
{
strcpy(tmp.str,now.str);
for(int j=;j<=;j++)
{
if(i==&&j==) continue;
tmp.str[i]=j+'';
if(is_prime(tmp.str))
{
tmp.deep=now.deep+;
que.push(tmp);
}
}
}
}
puts("Impossible");
return ;
} int main()
{
int t;
while(~scanf("%d",&t))
{
while(t--)
{
memset(vis,,sizeof(vis));
get_prime();
memset(use,,sizeof(use));
scanf("%s%s",s.str,e.str);
s.deep=;
bfs();
}
}
return ;
}
1332
太毒了,先按3*3 4*4 5*5 6*6 确定箱子数,在拿1*1 2*2填细节会少一点
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> using namespace std; int box[]={}; int main()
{
while()
{
box[]=;
for(int i=;i<=;i++){
scanf("%d",&box[i]);
box[]|=box[i];
}
if(!box[]){
break;
}
int ans=;
ans=(box[]+)/+box[]+box[]+box[]; ///
int left=box[]*;
if(box[]%==){
left++;
}
else if(box[]%==){
left+=;
}
else if(box[]%==){
left+=;
} if(left<box[]){
ans+=(box[]-left+)/;
} ///
left=*ans-*box[]-*box[]-*box[]-*box[]-*box[];
if(left<box[]){
ans+=(box[]-left+)/;
} printf("%d\n",ans);
} return ;
}
1008
#include <bits/stdc++.h> using namespace std; char str[][];
int pos=,maxLen=; int main()
{
while(gets(str[pos])){
maxLen=max(maxLen,(int)strlen(str[pos++]));
} //printf("max=%d\n",maxLen);
for(int i=;i<=maxLen+;i++){
printf("*");
}
puts("");
int flag=;
for(int i=;i<pos;i++)
{
int len=strlen(str[i]);
int left=maxLen-len;
int a,b;
a=b=left/;
if(left&){
if(flag){
a=a;
flag=;
}
else{
a++;
flag=;
}
}
b=left-a;
//printf("[%d %d len=%d]\n",a,b,len);
printf("*");
while(a--)printf(" ");
printf("%s",str[i]);
while(b--)printf(" ");
printf("*\n");
}
for(int i=;i<=maxLen+;i++){
printf("*");
}
puts("");
return ;
}
/**
* 5 *4 5
* 5 *5 4
* Round *2 3
* Round *2 3
*/
1205
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std;
const int maxn = ; char str[maxn]; int main()
{
while(~scanf("%s",str)&&str[]!='')
{
int num=;
int len=strlen(str);
for(int i=;i<len;i++){
num=(num*+str[i]-'')%;
}
if(num==){
puts("");
}
else{
puts("");
}
} return ;
}
1955
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> using namespace std; int main()
{
int n,m;
while(~scanf("%d%d",&n,&m)&&(n||m))
{
int s=;
for(int i=;i<=n;i++)
{
s=(s+m)%i;
}
printf("%d %d %d\n",n,m,s+);
} return ;
}
1299
#include <cstdio> int main()
{
int t,s,u;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&s,&u);
puts("");
}
}
1210
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std;
const int maxn = ; char str[maxn]; int main()
{
while(~scanf("%s",str)){
int ans=strlen(str);
int a=-,b=-,c=-;
int len=strlen(str);
for(int i=;i<len;i++){
if(str[i]=='a'){
a=i;
if(b!=-&&c!=-){
ans=min(ans,a-min(b,c)+);
}
}
else if(str[i]=='b'){
b=i;
if(a!=-&&c!=-){
ans=min(ans,b-min(a,c)+);
}
}
else if(str[i]=='c'){
c=i;
if(a!=-&&b!=-){
ans=min(ans,c-min(a,b)+);
}
}
}
printf("%d\n",ans);
}
return ;
}
1208
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> using namespace std;
const int maxn = ; int n,m,arr[maxn][maxn],dp[maxn][maxn]; int main()
{
while(~scanf("%d%d",&n,&m))
{
memset(arr,,sizeof(arr));
memset(dp,,sizeof(dp));
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
{
dp[i][j]=max(max(max(dp[i][j-],dp[i-][j]),dp[i-][j]+arr[i][j]),dp[i][j-]+arr[i][j]);
}
}
printf("%d\n",dp[n][m]);
} return ;
}
1202
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> using namespace std;
const int maxn = 1e5+; long long t,n,m,x,y,arr[maxn];
long long toRight[maxn],toLeft[maxn]; int main()
{
scanf("%I64d",&t);
while(t--)
{
toRight[]=;
scanf("%I64d%I64d",&n,&m);
for(int i=;i<=n;i++){
scanf("%I64d",&arr[i]);
toRight[i]=arr[i]+toRight[i-];
}
for(int i=;i<=m;i++)
{
scanf("%I64d%I64d",&x,&y);
long long beginPos=(i-)%n+;
long long ans=;
if(x<y){
if(beginPos<=x){///b x y
ans=toRight[y]-toRight[beginPos];
}
else{///x b y
ans=*toRight[n]-toRight[beginPos]+toRight[y];
}
}
else{///y x
ans=*toRight[n]-toRight[beginPos]-toRight[y];
}
cout<<ans<<endl;
}
} return ;
}
2094
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <queue> using namespace std;
const int maxn = ; int mp[maxn][maxn];
char str[],ttr[]; struct node
{
int x,y,deep;
}s,e,tmp,now; int Next[][]={-,,-,-,-,,-,-,,,,-,,,,-}; void bfs()
{
queue<node>q;
q.push(s);
mp[s.x][s.y]=;
while(!q.empty())
{
now=q.front();
q.pop();
if(now.x==e.x&&now.y==e.y)
{
printf("To get from %s to %s takes %d knight moves.\n",str,ttr,now.deep);
return ;
}
for(int i=;i<;i++)
{
int xx=now.x+Next[i][];
int yy=now.y+Next[i][];
if(xx<||yy<||xx>||yy>||mp[xx][yy]){
continue;
}
tmp.x=xx;
tmp.y=yy;
tmp.deep=now.deep+;
q.push(tmp);
}
}
} int main()
{
while(~scanf("%s%s",str,ttr))
{
memset(mp,,sizeof(mp));
s.x=str[]-'a';
s.y=str[]-'';
e.x=ttr[]-'a';
e.y=ttr[]-'';
s.deep=;
bfs();
}
return ;
}
1237
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <map> using namespace std;
const int maxn = 1e5+; char str[maxn];
string s,t;
map<string,string>mmp;
map<string,string>::iterator it; int main()
{
while(gets(str))
{
if(str[]==){break;}
for(int i=;i<strlen(str);i++)
{
if(str[i]==' '){
str[i]=;
i++;
s=str;
t=str+i;
mmp[t]=s;
break;
}
}
}
while(~scanf("%s",str))
{
if(mmp.count(str))
{
cout<<mmp.find(str)->second<<endl;
}
else{
cout<<"eh"<<endl;
}
} return ;
}
(11)
2092
#include <bits/stdc++.h> using namespace std;
char mp[][];
int sum,mov[][]={-,-,-,,-,,,,,-,,,,-,,},n,m; void dfs(int x,int y)
{
if(!mp[x][y]||mp[x][y]=='*')
{
return ;
}
mp[x][y]='*';
for(int i=;i<;i++)
{
dfs(x+mov[i][],y+mov[i][]);
}
} int main()
{
while(~scanf("%d%d",&n,&m)&&n&&m)
{
sum=;
memset(mp,,sizeof(mp));
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
{
cin>>mp[i][j];
}
}
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
{
if(mp[i][j]=='@')
{
sum++;
dfs(i,j);
}
}
}
printf("%d\n",sum);
}
return ;
}
1446
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
#include <map> using namespace std;
const int maxn = ; int n,m,x; vector<pair<int,int> >E[maxn];
int inq[maxn],dis[maxn]; void init()
{
for(int i=; i<=n; i++)
{
E[i].clear();
}
} int SPFA(int s,int t)
{
int now;
queue<int>q;
q.push(s);
dis[s]=,inq[s]=;
while(!q.empty())
{
now=q.front();
q.pop();
inq[now]=;
for(int i=;i<E[now].size();i++)
{
int to=E[now][i].first;
if(dis[to]>dis[now]+E[now][i].second)
{
dis[to]=dis[now]+E[now][i].second;
if(!inq[to]){
inq[to]=;
q.push(to);
}
}
}
}
return dis[t];
} void show()
{
for(int i=; i<=n; i++)
{
for(int j=; j<E[i].size(); j++)
{
printf("[%d %d] ",E[i][j].first,E[i][j].second);
}
puts("");
}
} int main()
{
int u,v,w,ans;
while(~scanf("%d%d%d",&n,&m,&x))
{
init();
for(int i=; i<=m; i++)
{
scanf("%d%d%d",&u,&v,&w);
E[u].push_back(make_pair(v,w));
}
//show();
ans=;
for(int i=; i<=n; i++)
{
for(int j=; j<maxn; j++)
{
inq[j]=;
dis[j]=1e9;
}
int To=SPFA(i,x);
for(int j=; j<maxn; j++)
{
inq[j]=;
dis[j]=1e9;
}
int Back=SPFA(x,i);
ans=max(To+Back,ans);
}
printf("%d\n",ans);
} return ;
}
1409
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath> const int N=+;
using namespace std; int vis[N]={};
void get_prime()
{
int m=sqrt(N+0.5);
for(int i=;i<=m;i++)
{
if(!vis[i])
{
for(int j=i*i;j<=N;j+=i)
{
vis[j]=;
}
}
}
}
int main()
{
get_prime();
int num;
int cas=;
while(~scanf("%d",&num))
{
if(num<=){break;}
printf("%d: ",cas++);
if(num==||num==)puts("no");
else if(vis[num])puts("no");
else puts("yes");
}
return ;
}
1983
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> using namespace std; int main()
{
char str[],ret[]={};
scanf("%s",str);
long long num=(str[]-'')*+(str[]-'')+(str[]-'')*+(str[]-'')*+(str[]-'')*;
long long ans=;
for(int i=;i<=;i++){
ans=(ans*num)%;
}
//cout<<ans<<endl;
int pos=;
while(pos--)
{
ret[pos]=ans%+'';
ans/=;
}
printf("%s\n",ret);
return ;
}
1240
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std;
const int maxn = ; int t,n;
char str[+]; typedef struct Trie
{
Trie *next[maxn];
int v;
}Trie; Trie *root; void createTrie(char str[])
{
int len=strlen(str);
Trie *p=root,*q;
for(int i=;i<len;i++)
{
int id=str[i]-'';
if(p->next[id]==NULL)
{
q=(Trie*)malloc(sizeof(Trie));
q->v=;
for(int j=;j<maxn;j++){
q->next[j]=NULL;
}
p->next[id]=q;
p=p->next[id];
}
else
{
p->next[id]->v++;
p=p->next[id];
}
}
p->v=-;
} int findTrie(char str[])
{
int len=strlen(str);
Trie *p=root;
for(int i=;i<len;i++)
{
int id=str[i]-'';
p=p->next[id];
if(p==NULL){ ///不存在前缀
return ;
}
if(p->v==-){ ///字符集中已有串是此串的前缀
return -;
}
}
return -; ///前缀
} int dealTrie(Trie *T)
{
if(T==NULL){
return ;
}
for(int i=;i<maxn;i++){
if(T->next[i]!=NULL){
dealTrie(T->next[i]);
}
}
free(T);
return ;
} int main()
{
while(~scanf("%d",&t))
{
while(t--)
{
int flag=;
root=(Trie*)malloc(sizeof(Trie));
memset(root->next,,sizeof(root->next));
scanf("%d",&n);
while(n--)
{
scanf("%s",str);
if(findTrie(str)==-){
flag=;
}
if(!flag){
createTrie(str);
}
}
if(flag){puts("NO");}
else{puts("YES");}
dealTrie(root);
}
} return ;
}
1233
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <map> using namespace std;
string s,t;
map<string,string>mmp;
map<string,string>::iterator it; char str[],ttr[]; int main()
{
while(gets(str))
{
if(!strcmp(str,"START")){continue;}
if(!strcmp(str,"END")){break;}
int len=strlen(str);
for(int i=;i<len;i++){
if(str[i]==' '){
str[i]='\0';
s=str;
t=str+i+;
mmp[t]=s;
break;
}
}
}
while(gets(str))
{
if(!strcmp(str,"START")){continue;}
if(!strcmp(str,"END")){break;}
int len=strlen(str),pos=;
for(int i=;i<len;i++){
if(str[i]>='a'&&str[i]<='z')
{
ttr[pos++]=str[i];
}
else
{
ttr[pos]=;
if(mmp.count(ttr)){
cout<<mmp.find(ttr)->second;
}
else{
cout<<ttr;
}
printf("%c",str[i]);
pos=;
}
}
puts("");
} return ;
}
1821
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std;
const int maxn = ; int main()
{
char str[maxn];
while(~scanf("%s",str))
{
int flag=;
for(int i=;i<strlen(str);i++){
if(str[i]=='.'&&str[i-]==''){
puts("GOTO Vasilisa.");
flag=;
break;
}
}
if(flag){continue;}
for(int i=;i<strlen(str);i++){
if(str[i+]=='.'){
int num=str[i+]-'';
if(num>=){
str[i]++;
}
putchar(str[i]);
break;
}
putchar(str[i]);
}
puts("");
} return ;
}
2357
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> using namespace std;
const int maxn = +; int n,s,arr[maxn]; int main()
{
while(~scanf("%d%d",&n,&s))
{
for(int i=;i<n;i++){
scanf("%d",&arr[i]);
}
sort(arr,arr+n);
int ans=;
for(int i=;i<n;i++){
ans+=upper_bound(arr+i+,arr+n,s-arr[i])-arr-i-;
}
printf("%d\n",ans);
} return ;
}
1742
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring> using namespace std;
const int maxn = 1e6+; int a[],b[];
char str[maxn]; int main()
{
while(~scanf("%s",str))
{
memset(a,,sizeof(a));
memset(b,,sizeof(b));
for(int i=;i<strlen(str);i++){
if(str[i]>=''&&str[i]<=''){
b[str[i]-'']++;
}
else{
a[str[i]-'a']++;
}
}
int max_pos=,flag=,max_val=;
for(int i=;i<;i++){
if(a[i]>max_val){
max_val=a[i];
max_pos=i;
}
}
for(int i=;i<;i++){
if(b[i]>max_val){
max_val=b[i];
max_pos=i;
flag=;
}
}
if(flag==){
printf("%c %d\n",max_pos+'a',max_val);
}
else{
printf("%c %d\n",max_pos+'',max_val);
}
} return ;
}
(20)
1551
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <queue> using namespace std;
const int maxn = ; struct node
{
int to,w,next;
}arr[maxn*maxn*];
int first[maxn],sign,n,in[maxn]; void init()
{
memset(first,,sizeof(first));
memset(in,,sizeof(in));
sign=;
} void add_edge(int u,int v,int w)
{
arr[sign].w=w;
arr[sign].to=v;
arr[sign].next=first[u];
first[u]=sign++;
} void toposort()
{
queue<int>q;
for(int i=;i<=n;i++){
if(in[i]==){
q.push(i);
}
}
int f=;
while(!q.empty()){
int now=q.front();
q.pop(); if(f){
printf("%d",now);
f=;
}
else{
printf(" %d",now);
}
for(int i=first[now];i;i=arr[i].next){
in[arr[i].to]--;
if(in[arr[i].to]==){
q.push(arr[i].to);
}
}
}
puts("");
} int main()
{
int u,v,w;
while(~scanf("%d",&n))
{
init();
for(int i=;i<=n;i++){
while(~scanf("%d",&v)&&v){
add_edge(i,v,);
in[v]++;
}
}
toposort();
} return ;
}
1905
#include <bits/stdc++.h> using namespace std; int main()
{
long long a,b,c;
while(~scanf("%I64d%I64d%I64d",&a,&b,&c)){
printf("%I64d\n",min(min(min(*(a+b),a+b+c),*(b+c)),*(a+c)));
}
return ;
}
2023 两个等于条件都要写
#include <bits/stdc++.h> using namespace std;
const int maxn = ; bool checkBig(int a,int b,int c,int d)
{
if(a>=*b&&a>=*c&&a>=*d)
{
return ;
}
return ;
} bool checkSmall(int a,int b,int c,int d)
{
if(a*<=b&&a*<=c&&a*<=d)
{
return ;
}
return ;
} int main()
{
string a,b,c,d;
int la,lb,lc,ld,pos=,flag=;
bool finds=;
getline(cin,a);
getline(cin,b);
getline(cin,c);
getline(cin,d);
la=a.length()-;
lb=b.length()-;
lc=c.length()-;
ld=d.length()-;
//printf("%d %d %d %d\n",la,lb,lc,ld);
if(checkBig(la,lb,lc,ld))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
if(checkSmall(la,lb,lc,ld))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
///
if(checkBig(lb,lc,ld,la))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
if(checkSmall(lb,lc,ld,la))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
///
if(checkBig(lc,ld,la,lb))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
if(checkSmall(lc,ld,la,lb))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
///
if(checkBig(ld,la,lb,lc))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
if(checkSmall(ld,la,lb,lc))
{
if(finds)
{
puts("C");flag=;
}
finds=;
pos=;
}
if(pos&&!flag)
{
switch (pos)
{
case :
puts("A");
break;
case :
puts("B");
break;
case :
puts("C");
break;
case :
puts("D");
break;
}
}
else if(!flag){
puts("C");
} return ;
}
2227
#include <bits/stdc++.h> using namespace std;
typedef long long ll; int main()
{
ll l1,r1,l2,r2,k,ans;
while(cin>>l1>>r1>>l2>>r2>>k)
{
if(l2<l1){
swap(l1,l2);
swap(r1,r2);
}
if(r1<l2){
puts("");
}
else{
if(r2<=r1){
ans=r2-l2+;
if(k<=r2&&k>=l2){
ans--;
}
}
else{
ans=r1-l2+;
if(k<=r1&&k>=l2){
ans--;
}
}
cout<<ans<<endl;
}
} return ;
}
*2313
#include <bits/stdc++.h> using namespace std;
const int maxn = ;
int vis[maxn]; int main()
{
int t,n,m,value;
while(~scanf("%d",&t))
{
while(t--)
{
memset(vis,,sizeof(vis));
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++){
int ret=;
for(int j=;j<=m;j++){
scanf("%d",&value);
ret=ret*+value;
}
vis[i]=ret;
}
int ans=;
for(int i=;i<=n;i++){
for(int j=i+;j<=n;j++){
if(vis[i]&vis[j]){
ans++;
}
}
}
printf("%d\n",ans);
}
} return ;
}
闭关修炼屯题中,期末考完A的更多相关文章
- (C语言)学生成绩排序-期末考倒数第二题结构体数组排序
假设学生的基本信息包括学号.姓名.三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型.输入n(n<50)个学生的成绩信息,按照学生的个人平均分从高到低输出他们的信息.如果平均分相同 ...
- Leave It Behind and Carry On ---- 高一下期末考反思 [补档]
背景 这个学期的前\(\frac{3}{4}\), 我都是在停课集训中度过的, 先是GDKOI, 再是北京集训, 最后是GDOI, 结果GDOI还没进day3就滚粗了. 学校的内容是考完GDOI后回学 ...
- 【Mood】八上期末考
Final exam Day -30 平姐在班会上突然就说了一句,离期末考只有一个月了. 刚从体育节的气氛中脱离出来的我想了想,好像还真的是诶. 又努力地去想了想,好像不太慌张呢. Final ex ...
- Windows移动开发(二)——闭关修炼
一些武侠小说里的大人物,为了争夺武林盟主,号召天下,常常闭关修炼一段时间,闭关期间仅仅能接触送饭的人,而且关外还有非常多守卫的人员.还有,不管是篮球还是足球运动员,他们在真正接触球之前,都必须做非常长 ...
- 【心得体会】我考完MOS我明白了…
[心得体会]我考完MOS我明白了… 原创 2017-11-10 MSP-李桑榆 MSPrecious成长荟 MOS备考 这篇文章写给还没有考或者准备考MOS的同学 网上有很多介绍MOS考试的 http ...
- 在洛谷3369 Treap模板题 中发现的Splay详解
本题的Splay写法(无指针Splay超详细) 前言 首先来讲...终于调出来了55555...调了整整3天..... 看到大部分大佬都是用指针来实现的Splay.小的只是按照Splay的核心思想和原 ...
- Wilson's theorem在RSA题中运用
引言 最近一段时间在再练习数论相关的密码学题目,自己之前对于数论掌握不是很熟练,借此机会先对数论基本的四大定理进行练习 这次的练习时基于Wilson's theorem(威尔逊定理)在RSA题目中的练 ...
- 闭关修炼180天--手写IOC和AOP(xml篇)
闭关修炼180天--手写IOC和AOP(xml篇) 帝莘 首先先分享一波思维导图,涵盖了一些Spring的知识点,当然这里并不全面,后期我会持续更新知识点. 在手写实现IOC和AOP之前(也就是打造一 ...
- 闭关修炼180天--手写持久层框架(mybatis简易版)
闭关修炼180天--手写持久层框架(mybatis简易版) 抛砖引玉 首先先看一段传统的JDBC编码的代码实现: //传统的JDBC实现 public static void main(String[ ...
随机推荐
- Dapper中条件为In的写法
今天用Dapper更新是用到了IN写法,园子里找了篇文章这样写到 传统sql in (1,2,3) 用dapper就这样写 conn.Query<Users>("SELECT * ...
- python——re模块
python--re模块 一 正则表达式的作用 1.给字符串进行模糊匹配, 2.对象就是字符串 二 字符匹配(普通字符.元字符) 普通字符:数字字符和英文字母和自身匹配 2.元字符:. ^ $ * + ...
- MySQL 5.7 新特性之增强半同步复制
1. 背景介绍 半同步复制 普通的replication,即mysql的异步复制,依靠mysql二进制日志也即binary log进行数据复制.比如两台机器,一台主机(master),另外一台是从机( ...
- C#之序列化对象(二进制方式序列化对象)
应用程序有时需要以对象的形式在磁盘上存储数据,FrameWork有两个可用的实现方式: 一:System.Runtime.Serialization.Formatters.Binarry这个名称空间包 ...
- [AHOI2016初中组]迷宫
题目描述 小雪和小可可被困在了一个无限大的迷宫中. 已经知道这个迷宫有 N 堵环状的墙,如果把整个迷宫看作是一个二维平面,那么每一堵墙都是平面上一个圆.任意两个圆不相交,不重合,也不会相切, 但有可能 ...
- ●BZOJ 1444 [Jsoi2009]有趣的游戏
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1444题解.1: 概率dp,矩阵乘法,快速幂. 对所有串建立AC自动机, 那么如果在trie树 ...
- 【LSGDOJ1383】修改回文 dp
题目描述 为了跟踪所有的牛,农夫JOHN在农场上装了一套自动系统. 他给了每一个头牛一个电子牌号 当牛走过这个系统时,牛的名字将被自动读入. 每一头牛的电子名字是一个长度为M (1 <= M & ...
- hdu 5724 SG+状态压缩
Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- hihocoder 1075 : 开锁魔法III
描述 一日,崔克茜来到小马镇表演魔法. 其中有一个节目是开锁咒:舞台上有 n 个盒子,每个盒子中有一把钥匙,对于每个盒子而言有且仅有一把钥匙能打开它.初始时,崔克茜将会随机地选择 k 个盒子用魔法将它 ...
- [USACO Jan09] 安全路径
Gremlins最近在农场上泛滥,它们经常会阻止牛们从农庄(牛棚_1)走到别的牛棚(牛_i的目的 地是牛棚_i).每一个gremlin只认识牛_i并且知道牛_i一般走到牛棚_i的最短路经.所以它 们在 ...