[关闭]
@codejan 2017-04-18T06:28:04.000000Z 字数 1210 阅读 596

往年蓝桥杯赛题回顾

acm


2017官方模拟赛
2016年题解
2015年题解
明天就要蓝桥杯了,然而好久没敲代码了,争取能够免费北京游吧,看下往年情况做出7道题就差不多稳了.
主要看了14,15,16三年的题目,知识点主要集中在数学,暴力,dp,除了最后一题,其他的都可以争取做出来.
注意到蓝桥杯大题是分点给分的,不会做也可以尽量骗分.
同时要注意细心!中途没有测试的机会,只能自己多造样例,用心检查.

  1. #include <cstdio>
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cstring>
  5. using namespace std;
  6. char s[5005];
  7. short dp[5005][5005],n;
  8. int dfs(int l, int r){
  9. if(dp[l][r]) return dp[l][r];
  10. if(l >= r) return 0;
  11. if(s[l]==s[r]) return dp[l][r] = dfs(l+1,r-1);
  12. else return dp[l][r]=min(dfs(l+1,r), dfs(l,r-1))+1;
  13. }
  14. int main(){
  15. while(scanf("%d", &n)!= EOF){
  16. memset(dp,0,sizeof(dp));
  17. scanf("%s", s+1);
  18. dfs(1,n);
  19. cout <<dp[1][n]<<endl;
  20. }
  21. }
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. using namespace std;
  6. int knt = 0;
  7. void dfs(int st, int sum, int cur){
  8. if(sum==13) {knt++; return;}
  9. if(st > 13) return;
  10. if(cur<4)dfs(st, sum+1, cur+1);
  11. dfs(st+1,sum,0);
  12. }
  13. int main(){
  14. dfs(1,0,0);
  15. cout<<knt<<endl;
  16. return 0;
  17. }
  1. next_permutation(首地址,末地址);
  2. 把指定区域内的排列按照字典序变为下一个排列.
  3. char s[100]="abcdefghijklmnopq";
  4. next_permutation(s,s+17);
  5. cout<<s<<endl;
  6. 输出为abcdefghijklmnoqp
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注