标签:style blog http color io os ar for sp
A:直接贴过来装换
解题代码
1 // File Name: a.cpp 2 // Author: darkdream 3 // Created Time: 2014年10月06日 星期一 23时28分57秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include<stack> 11 #include<bitset> 12 #include<algorithm> 13 #include<functional> 14 #include<numeric> 15 #include<utility> 16 #include<sstream> 17 #include<iostream> 18 #include<iomanip> 19 #include<cstdio> 20 #include<cmath> 21 #include<cstdlib> 22 #include<cstring> 23 #include<ctime> 24 #define LL long long 25 26 using namespace std; 27 char str[102]; 28 char tp[4][100] = {"qwertyuiop", 29 "asdfghjkl;", 30 "zxcvbnm,./", 31 }; 32 int main(){ 33 scanf("%s",str); 34 if(str[0] == ‘L‘) 35 { 36 scanf("%s",str); 37 for(int i = 0;i < strlen(str);i ++) 38 { 39 for(int j = 0;j <= 2;j ++) 40 { 41 if(strchr(tp[j],str[i])) 42 { 43 printf("%c",tp[j][strchr(tp[j],str[i]) - tp[j] +1]); 44 } 45 } 46 } 47 } 48 else{ 49 scanf("%s",str); 50 for(int i = 0;i < strlen(str);i ++) 51 { 52 for(int j = 0;j <= 2;j ++) 53 { 54 if(strchr(tp[j],str[i])) 55 { 56 printf("%c",tp[j][strchr(tp[j],str[i]) - tp[j] - 1]); 57 } 58 } 59 60 } 61 } 62 return 0; 63 }
B:一个标记或者二分就行,最大1e6的复杂度
解题代码:
1 // File Name: b.cpp 2 // Author: darkdream 3 // Created Time: 2014年10月06日 星期一 23时39分31秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include<stack> 11 #include<bitset> 12 #include<algorithm> 13 #include<functional> 14 #include<numeric> 15 #include<utility> 16 #include<sstream> 17 #include<iostream> 18 #include<iomanip> 19 #include<cstdio> 20 #include<cmath> 21 #include<cstdlib> 22 #include<cstring> 23 #include<ctime> 24 #define LL long long 25 26 using namespace std; 27 int a[100005]; 28 int b[100005]; 29 int n , m ; 30 int find(int x) 31 { 32 int l = 1; 33 int r = n; 34 while(l <= r) 35 { 36 int mid = (l + r)/2; 37 if(a[mid] < x) 38 { 39 l = mid + 1; 40 }else { 41 r = mid - 1; 42 } 43 } 44 return l; 45 } 46 int main(){ 47 scanf("%d",&n); 48 for(int i =1 ;i <= n;i ++) 49 { scanf("%d",&a[i]); 50 a[i] = a[i-1] + a[i]; 51 } 52 scanf("%d",&m); 53 for(int i =1 ;i <= m;i ++) 54 { 55 scanf("%d",&b[i]); 56 printf("%d\n",find(b[i])); 57 } 58 return 0; 59 }
C:知道转换公式以后就是一个手速题
1 // File Name: c.cpp 2 // Author: darkdream 3 // Created Time: 2014年10月07日 星期二 00时41分28秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include<stack> 11 #include<bitset> 12 #include<algorithm> 13 #include<functional> 14 #include<numeric> 15 #include<utility> 16 #include<sstream> 17 #include<iostream> 18 #include<iomanip> 19 #include<cstdio> 20 #include<cmath> 21 #include<cstdlib> 22 #include<cstring> 23 #include<ctime> 24 #define LL long long 25 #define eps 1e-8 26 using namespace std; 27 struct node{ 28 double x,y,a,b; 29 }; 30 node a[5][5]; 31 node change(node tp) 32 { 33 node ans; 34 ans.a = tp.a; 35 ans.b = tp.b; 36 ans.x = tp.a - (tp.y - tp.b); 37 ans.y = tp.b + (tp.x - tp.a); 38 return ans; 39 } 40 int ans[0]; 41 double dis[5][5]; 42 double thedis(double x1, double y1, double x2,double y2) 43 { 44 return sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) ; 45 } 46 int mi; 47 bool ok() 48 { 49 node tt[5]; 50 for(int i = 1;i <= 4;i ++) 51 { 52 tt[i] = a[i][ans[i]]; 53 } 54 for(int i = 1;i <= 4;i ++) 55 { 56 for(int j= 1;j <= 4 ; j ++) 57 { 58 dis[i][j] = thedis(tt[i].x,tt[i].y,tt[j].x,tt[j].y); 59 } 60 sort(dis[i] + 1,dis[i] + 1 + 4); 61 } 62 for(int i = 2;i <= 4;i ++) 63 for(int j = 1;j <= 4; j ++) 64 { 65 if(fabs(dis[i][j] - dis[i-1][j]) > eps) 66 return 0 ; 67 } 68 if(fabs(dis[1][4]-0 ) <eps) 69 return 0 ; 70 if(fabs(dis[1][3] - dis[1][2]) > eps) 71 return 0 ; 72 if(fabs(dis[1][3] * sqrt(2) - dis[1][4]) > eps) 73 return 0 ; 74 if(fabs(dis[1][3] - 0 ) < eps) 75 return 0 ; 76 if(fabs(dis[1][2] - 0 ) < eps) 77 return 0 ; 78 /*for(int i = 1;i <= 4;i ++) 79 { 80 for(int j = 1;j <= 4; j ++) 81 printf("%lf ",dis[i][j]); 82 printf("\n"); 83 } 84 for(int i = 1;i<= 4;i ++) 85 printf("%lf %lf\n",tt[i].x,tt[i].y); 86 87 */ 88 return 1; 89 } 90 void dfs(int k) 91 { 92 if(k == 5) 93 { 94 if(ok()) 95 { 96 if(ans[1] + ans[2] + ans[3] + ans[4] - 4< mi) 97 mi = ans[1] + ans[2] + ans[3] + ans[4] -4; 98 //printf("%d %d %d %d\n",ans[1],ans[2],ans[3],ans[4]); 99 } 100 return; 101 } 102 for(int i = 1;i <= 4;i ++) 103 { 104 ans[k] = i ; 105 dfs(k+1); 106 } 107 } 108 int main(){ 109 int n; 110 scanf("%d",&n); 111 while(n--) 112 { 113 for(int i= 1;i <= 4;i ++) 114 scanf("%lf %lf %lf %lf",&a[i][1].x,&a[i][1].y,&a[i][1].a,&a[i][1].b); 115 for(int i = 1;i<= 4;i ++ ) 116 { 117 for(int j = 2;j <= 4;j ++) 118 a[i][j] = change(a[i][j-1]); 119 } 120 /* for(int i = 1;i<= 4;i ++ ) 121 { 122 for(int j = 1;j <= 4;j ++) 123 printf("%lf %lf ** ",a[i][j].x,a[i][j].y); 124 printf("\n"); 125 }*/ 126 mi = 1000; 127 dfs(1); 128 if(mi == 1000) 129 printf("-1\n"); 130 else printf("%d\n",mi); 131 } 132 return 0; 133 }
D: dp,考虑最后这一位是R还是W即可
1 // File Name: d.cpp 2 // Author: darkdream 3 // Created Time: 2014年10月07日 星期二 00时21分01秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include<stack> 11 #include<bitset> 12 #include<algorithm> 13 #include<functional> 14 #include<numeric> 15 #include<utility> 16 #include<sstream> 17 #include<iostream> 18 #include<iomanip> 19 #include<cstdio> 20 #include<cmath> 21 #include<cstdlib> 22 #include<cstring> 23 #include<ctime> 24 #define LL long long 25 #define maxn 100004 26 #define M 1000000007 27 using namespace std; 28 int t, k ; 29 30 LL ans[maxn][2]; 31 LL sum[maxn]; 32 int main(){ 33 while(scanf("%d %d",&t,&k) != EOF) 34 { 35 ans[1][1] = 1; 36 ans[0][2] = 1; 37 38 if(k == 1 ) 39 ans[1][2] = 1; 40 else ans[1][2] = 0 ; 41 sum[0] = 0 ; 42 sum[1] = ans[1][1] + ans[1][2]; 43 for(int i = 2; i <= 100000;i ++) 44 { 45 ans[i][1] = (ans[i-1][1] + ans[i-1][2])%M ; 46 if(i >= k ) 47 ans[i][2] = (ans[i-k][1] + ans[i-k][2])%M; 48 else{ 49 ans[i][2] = 0 ; 50 } 51 sum[i] = (sum[i-1] + ans[i][1] + ans[i][2])%M; 52 // printf("%I64d\n",sum[i]); 53 } 54 int a, b; 55 for(int i =1 ;i <= t;i ++) 56 { 57 scanf("%d %d",&a,&b); 58 printf("%I64d\n",((sum[b] - sum[a-1])+ M)%M ); 59 } 60 61 } 62 return 0; 63 }
标签:style blog http color io os ar for sp
原文地址:http://www.cnblogs.com/zyue/p/4009555.html