日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2018百度之星程序设计大赛资格赛

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018百度之星程序设计大赛资格赛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://acm.hdu.edu.cn/showproblem.php?pid=6344

注意優化

#include<iostream> #include<algorithm> #include<cstring> #include<map> #include<cstdio> using namespace std; int main() {int T;cin >> T;for ( int Time = 1; Time <= T; Time++ ) {int n, m, min_num;scanf ( "%d%d%d", &n, &m, &min_num );char in[1008][12];for ( int i = 0; i < n; i++ )scanf ( "%s", in[i] );map<int, int>ma;int ans = 0;for ( int k = 1; k < ( 1 << m ); k++ ) {bool new_in[1008][12];int flag = 0;for ( int i = 0; i < m; i++ )if ( ( k >> i ) & 1 ) {for ( int j = 0; j < n; j++ )new_in[j][flag] = ( in[j][i] == 'A' );flag++;}ma.clear();for ( int i = 0; i < n; i++ ) {int temp = 0;for ( int j = 0; j < flag; j++ ) {temp = ( temp << 1 );temp = temp | ( new_in[i][j] ? 1 : 0 );}ma[temp]++;}int sum = 0;for ( map<int, int>::iterator it = ma.begin(); it != ma.end(); it++ )sum += ( n - it->second ) * it->second;if ( sum / 2 >= min_num ) ans++;}printf ( "Case #%d: %d\n", Time, ans );}return 0; }

?

http://acm.hdu.edu.cn/showproblem.php?pid=6345

這是個基礎dp。按dp簡單處理下即可

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int com[26][100008]; char in[100008]; int main() {int T;cin>>T;for ( int Time = 1; Time <= T; Time++ ) {printf ( "Case #%d:\n", Time );int n, m;scanf ( "%d%d%s", &n, &m, in + 1 );memset ( com, 0, sizeof com );for ( int i = 1; i <= n; i++ ) {for ( int j = 0; j < 26; j++ )com[j][i] = com[j][i - 1];com[in[i] - 'A'][i]++;}while ( m-- ) {int l, r;scanf ( "%d%d", &l, &r );for ( int i = 0; i < 26; i++ )if ( com[i][r] - com[i][l - 1] != 0 ) {printf ( "%d\n", com[i][r] - com[i][l - 1] );break;}}}return 0; }

?

總結

以上是生活随笔為你收集整理的2018百度之星程序设计大赛资格赛的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。