青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

算法學社
記錄難忘的征途
posts - 141,comments - 220,trackbacks - 0

吐槽:

    1. 大家可能會疑惑544的總結呢。。。 因為544掛0了,就不寫總結了額 - -
    2. 周末參加東北賽,祝自己好運
    3. 漲了166pt真是耗人品
    4. 下周數電實驗答辯(20頁的報告我擦)+電子技術考試,真是煩啊!!!!
    5. 最后一個賽季,fighting!!! 要么出線要么滾蛋...
其實我在房間實在太弱了 - -

275pt:

   讓你構造一個長度為n的串,逆序數恰好為m且字典序比某字符串string大,請構造字典序最小的這樣的串。

算法分析:

    在某個位置i,假設之前的位置都已經構造好了,那么我們在位置i選擇一個字母,我們就可以計算出后面最壞情況下的逆序數最大為多少。
    如果比m大,這個字母就可以選。我們每次都選擇最小的這樣的字母就可以了。
 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int vis[300]={0};
 5 int cal(int n) { return n * (n-1) /2;}
 6 int ret(string ch){
 7     int ans = 0;
 8     for(int i=1;i<ch.size();i++)
 9         for(int j=0;j<i;j++)
10             if(ch[j] > ch[i]) ans ++;
11     return ans;
12 }
13 bool can(string pre, char now, int len, int res){
14     cout<<pre<<" "<<now;
15     pre.push_back(now);
16     int mx = cal(len - pre.size()) + ret(pre);
17     for(char i = 'a'; i<'a'+len; i++)
18         if(!vis[i] && i!=now){
19             for(int j = 0; j<pre.size();j++)
20                 mx += (pre[j] > i);
21         }
22     cout<<mx<<endl;
23     return mx >= res;
24 }
25 class StrIIRec {
26     public : string recovstr(int n,int mnv, string str){
27         string ans = "";
28         bool flag = 1;
29         for(int i=0;i<n;i++){
30             if(i >= str.size()) flag = 0;
31             char j;
32             for(j = 'a'; j<'a'+n; j++) if(!vis[j]){
33         //        cout<<j<<endl;
34                 if(flag && j < str[i]) continue;
35                 if(can (ans, j, n, mnv)){
36                     ans .push_back(j);
37                     if(flag && j > str[i]) flag=0;
38                     vis[j] = 1;
39                     break;
40                 }
41             }
42             if(j >= 'a'+n) return "";
43         }
44         return ans;
45     }
46 };
47 

500pt:

     你可以在h*l的網格上以(x,0)為起點畫一條非水平的射線,x為任意的小于l的非負整數。 在這個射線上每次至少要取K個整數坐標。
     問一共可以取得多少個不同的坐標集合(1<=h,l,k<=2000)。

算法分析:

    因為這個射線上第一個整數坐標點的橫縱坐標一定是互質的,所以我們先花O(n*n*logn)的時間來枚舉出所有互質的數i,j,相當于枚舉射線的斜率了。
    對于每一個斜率,我們要知道他在不同的起點x上會得到多少個整數坐標點f(x),然后ans加上2*C(f(x),k)就可以了。
    組合數的問題我們可以打表搞定,對于起點x我們如果依次枚舉的話會超時。
    我們設斜率是-j/i,我們會發現x只在每增加i的時候f(x)才會有可能增加1。
    于是搞定了~~復雜度O(n^2*log^2n)
 1 #include<iostream>
 2 using namespace std;
 3 typedef long long ll;
 4 const int V= 2005;
 5 const int mod = 1000000007;
 6 ll C[V][V] = {0};
 7 int gcd(int a,int b) {return b == 0 ? a : gcd(b,a%b);}
 8 class Spacetsk{
 9     publicint countsets(int l,int h,int k){
10         if(k == 1) return (l+1) *(h+1) % mod;
11         C[0][0] = 1;
12         for(int i=1; i<V; i++){
13             C[i][0] = 1;
14             for(int j = 1; j<=i;j++)
15                 C[i][j] =  (C[i-1][j-1] + C[i-1][j]) % mod;
16         }
17         ll ans = 0;
18         for(int i=0;i<=l;i++) ans = ( ans + C[h+1][k] ) % mod;
19         for(int i = 1; i<=l; i++)
20             for(int j = 1; j<=h; j++)
21                 if(gcd(i,j) == 1){
22                     ll sum = 0, cnt = 0;
23                     for(int x = 0,y = 0; x <=l; x += i, y+= j){
24                         if(y <= h) cnt ++;
25                         ll mt = min(i, l-x+1);
26                         sum = (sum + mt * C[cnt][k] ) % mod;
27                     }
28                     ans = (ans + sum * 2) % mod;
29                 }
30         return ans;
31     }
32 };
posted on 2012-06-08 01:54 西月弦 閱讀(615) 評論(0)  編輯 收藏 引用 所屬分類: 比賽感言
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品综合久久久| 欧美一区二区啪啪| 亚洲资源在线观看| 亚洲婷婷在线| 欧美一区91| 久久麻豆一区二区| 蜜月aⅴ免费一区二区三区| 欧美国产一区二区三区激情无套| 欧美成人午夜激情视频| 91久久精品日日躁夜夜躁欧美| 欧美高清在线视频| av成人免费在线| 欧美影院久久久| 欧美福利在线观看| 国产女人水真多18毛片18精品视频| 狠久久av成人天堂| 亚洲视频1区2区| 久久偷窥视频| av成人免费在线| 久色成人在线| 国产精品入口| 亚洲区国产区| 久久国产手机看片| 欧美v日韩v国产v| 亚洲欧美另类在线观看| 99视频一区| 久久久久国产精品一区| 欧美大片免费观看| 国产精品一区二区三区免费观看 | 欧美高清视频| 亚洲欧美在线免费| 欧美综合国产精品久久丁香| 欧美成人性网| 国模精品一区二区三区| 亚洲午夜伦理| 欧美激情综合色| 欧美怡红院视频一区二区三区| 欧美电影在线观看完整版| 亚洲国产精品一区制服丝袜| 好看的亚洲午夜视频在线| 亚洲国产一区二区三区高清| 亚洲美女在线视频| 久久久国产亚洲精品| 亚洲欧洲日夜超级视频| 久久国产精品久久久久久久久久| 欧美国产激情| ●精品国产综合乱码久久久久| 亚洲一区二区视频在线| 免费中文日韩| 久久激情五月丁香伊人| 国产欧美日韩三级| 羞羞答答国产精品www一本| 日韩午夜av| 欧美日韩国产精品成人| 亚洲全黄一级网站| 欧美刺激午夜性久久久久久久| 午夜影视日本亚洲欧洲精品| 国产精品欧美日韩一区二区| 亚洲无毛电影| 亚洲天堂黄色| 国产精品久久久久久久久久ktv| 在线性视频日韩欧美| 亚洲精品一区二区三区不| 欧美精品情趣视频| 亚洲精品日韩久久| 亚洲精品视频在线看| 欧美日韩人人澡狠狠躁视频| 亚洲视频在线观看| 亚洲天堂男人| 国产日本欧美一区二区三区在线| 欧美亚洲视频| 久久大逼视频| 亚洲国产精品va在线看黑人 | 亚洲欧美视频在线观看视频| 国产精品露脸自拍| 久久黄色级2电影| 亚洲美女毛片| 欧美日韩和欧美的一区二区| 99re66热这里只有精品3直播| 亚洲国产日韩欧美在线99| 欧美精品一区二区在线观看| 亚洲小说欧美另类社区| 亚洲欧美日韩一区二区在线| 极品中文字幕一区| 亚洲国产精品国自产拍av秋霞| 欧美精品一区二区三区一线天视频 | 亚洲欧美日韩中文视频| 亚洲欧美日韩国产一区| 精品白丝av| 99国产精品国产精品久久| 国产精品一二| 欧美成人精品在线| 国产精品久在线观看| 久久精品国产亚洲一区二区| 免费观看一区| 欧美一级视频免费在线观看| 欧美1区2区视频| 欧美一级淫片播放口| 欧美福利一区二区| 久久国产精品毛片| 欧美另类99xxxxx| 久久综合999| 国产精品久久久久久久久免费桃花| 蜜桃av综合| 国产精品视频九色porn| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩国产999| 久久夜色精品国产欧美乱| 欧美亚洲第一页| 亚洲日本中文字幕区| 伊人夜夜躁av伊人久久| 亚洲一区视频| 一区二区三区四区五区精品视频 | 欧美日韩在线大尺度| 久久黄色网页| 国产精品成人免费| 亚洲国产精品免费| 一区二区视频免费在线观看 | 欧美主播一区二区三区美女 久久精品人| 亚洲欧洲精品一区二区| 欧美一区二区三区在线观看视频 | 欧美国产日韩亚洲一区| 久久久久免费| 国产亚洲一区二区在线观看| 亚洲影院一区| 性伦欧美刺激片在线观看| 欧美日韩视频在线一区二区观看视频 | 欧美freesex8一10精品| 国产精品久久久久久久浪潮网站| 国产亚洲a∨片在线观看| 欧美国产91| 蜜桃伊人久久| 久久久久久电影| 国产精品一区二区三区乱码| 国产精品乱码一区二三区小蝌蚪| 国产精品免费福利| 99在线精品观看| 久久精品人人做人人爽电影蜜月| 亚洲第一主播视频| 亚洲午夜av| 欧美电影电视剧在线观看| 国产精品免费看久久久香蕉| 亚洲三级影院| 欧美在线视频免费观看| 国产精品草草| 亚洲最新在线| 欧美 日韩 国产精品免费观看| 一区二区三区波多野结衣在线观看| 性18欧美另类| 蜜桃精品一区二区三区 | 国产老女人精品毛片久久| 国产精品v欧美精品v日韩精品| 亚洲国产精品久久久久婷婷老年| 性色一区二区| 香蕉久久国产| 在线观看欧美一区| 鲁鲁狠狠狠7777一区二区| 欧美一级理论性理论a| 亚洲精品乱码久久久久久蜜桃麻豆| 玖玖综合伊人| 美日韩精品免费| 99精品国产在热久久下载| 亚洲国产欧美在线| 久久亚洲色图| 99视频精品| 午夜精品久久久久久久99水蜜桃 | 欧美激情一区二区在线| 原创国产精品91| 欧美成人午夜激情| 日韩亚洲在线观看| 欧美一区二区视频网站| 1000精品久久久久久久久| 欧美日韩999| 欧美中文字幕在线视频| 亚洲三级观看| 久久婷婷丁香| 亚洲午夜精品17c| 亚洲第一在线视频| 欧美日韩综合在线免费观看| 欧美一区二粉嫩精品国产一线天| 欧美激情久久久久| 欧美在线电影| 一区二区三区av| 国内精品久久久| 欧美特黄一级大片| 蜜臀a∨国产成人精品| 亚洲欧美视频在线观看| 亚洲美女在线观看| 欧美国产精品v| 久久亚洲精品中文字幕冲田杏梨| 中文在线资源观看视频网站免费不卡| 国产综合色一区二区三区| 国产精品第十页| 欧美日韩国产a| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产女精品视频网站免费 | 久久亚洲一区二区| 午夜精品久久久久久久久| 一区二区欧美国产| 亚洲三级影院|