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

算法學(xué)社
記錄難忘的征途
posts - 141,comments - 220,trackbacks - 0
在這里做一個(gè)小小的說(shuō)明: 之前在QQ空間發(fā)了一篇立志貼, 但是很快補(bǔ)考就來(lái)了, 所以從昨天開(kāi)始算, 一天一道regional題, 三天一套多校...

250pt

   算法分析:

      二分枚舉結(jié)果是最好寫的, 但是不是最優(yōu)的. 但是我偏偏沒(méi)有選擇最好些的.

#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
typedef long long ll;
ll stk[55];int vis[55];
bool flag;
ll work(vector<int> num){
    int tp = 0;
    memset(vis,0,sizeof(vis));
    for(int i = 0; i < num.size(); i++) {
        if(num[i] == 0) {
            if(tp <= 1) continue;
            else {
                tp --;
                if(stk[tp ] == -1 || stk[tp-1] == -1){
                    vis[tp - 1] = 1;
                    vis[tp] = 0;
                }
                else if(vis[tp] == 1 || vis[tp - 1] == 1) {
                        vis[tp-1] = 1;
                        vis[tp] = 0;
                }
                stk[tp-1] += stk[tp];
            }
        }
        else {
            stk[tp++] = num[i];
        }
    }
    flag = vis[tp-1] || (stk[tp-1] == -1);
    if(flag) stk[tp-1]++;
    return stk[tp-1];
}
class 
Suminator{
    public : int findMissing(vector <int> p, int R){
        int n = p.size(),s;
        for(int i = 0; i<n; i++){
            if(p[i] == -1) s = i;
        }
        p[s] = 0;
        ll t = work(p);
        if(t == R) return 0;
        p[s] = -1;
        t = work(p);
        if(!flag) {
            if(t == R) return 1;
            else return -1;
        }
        else {
            ll x = R - t;
            if(x < 1) return - 1;
            else return x;
        }
    }
};

500pt

   算法分析:

      一共就兩個(gè)凸聯(lián)通塊,每個(gè)凸聯(lián)通塊一定是逐增不(下降,上升)的.
      于是乎可以DP, DP[i][j][a][b]表示第i層,前j行都選取字母a的行數(shù)不上升/下降的總情況.
#include<iostream>
#include<cstdio>
#include<vector>
#include<string>
using namespace std;
typedef long long ll;
ll dp[55][55][2][2];
const int mod = (int)1e9+7;
class TwoConvexShapes{
    publicint countWays(vector <string> num){
        int n = num.size(), m = num[0].size();
        for(int p = 0; p<2; p++){
            for(int oo = 0; oo <2; oo++) {
                char x = oo ? 'B' : 'W';
                char y = oo ? 'W' : 'B';
                for(int i = 0; i < n; i++){
                    for(int r = 0; r <= m; r++){
                        bool flag = 1;
                        for(int j = 0; j < m; j++)
                            if(j < r && num[i][j] == x || j >= r && num[i][j] == y )
                                flag = 0;
                    //    if(!flag) cout<<i<<" "<<r<<endl;
                        if(!flag) continue;
                        for(int j = 0; j <= m; j++){
                            if(i==0) dp[i][r][oo][p] = 1;
                            else if(p && j >= r || !p && j <= r)
                                dp[i][r][oo][p] += dp[i-1][j][oo][p];
                        }
                        dp[i][r][oo][p] %= mod;
                    }}}}
        //cout<< dp[n-1][0][0][0] <<" "<<dp[n-1][1][0][0]<<" "<<dp[n-1][2][0][0]<<endl;
        ll ans = 0;
        for(int i = 0; i <= m; i++)
            for(int a = 0; a< 2; a++)
                for(int b = 0; b < 2; b++)
                    ans += dp[n-1][i][a][b];
        ans %= mod;
        int sum = 0,w = 0, b = 0;
        for(int i = 0; i < n; i++)
            for(int j = 0; j < m; j++)
                if(num[i][j] == 'W') w = 1;
                else if(num[i][j] == 'B') b = 1;
        sum = (!w + !b) * 3;
        for(int u = 1; u < n; u++)
            for(int oo = 0; oo < 2; oo++) {
                bool flag = 1;
                char x = oo ? 'B' : 'W';
                char y = oo ? 'W' : 'B';
                for(int i = 0; i < n; i++)
                    for(int j = 0; j< m; j++)
                        if(i < u && num[i][j] == x || i >= u && num[i][j] == y)
                            flag = 0;
                sum += flag;
            }
        for(int r = 1; r < m; r++)
            for(int oo = 0; oo < 2; oo++) {
                bool flag = 1;
                char x = oo ? 'B' : 'W';
                char y = oo ? 'W' : 'B';
                for(int i = 0; i < n; i++)
                    for(int j =0; j < m; j++)
                        if(j < r && num[i][j] == x || j >= r && num[i][j] == y)
                            flag = 0;
                sum += flag;
            }
    //    cout<< ans << " "<< sum<<endl;
        return (ans - sum + mod) % mod;
    }
};
posted on 2012-08-23 16:53 西月弦 閱讀(363) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 解題報(bào)告
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲成色www8888| 欧美系列精品| 亚洲激情视频在线播放| 欧美超级免费视 在线| 久久精品国产2020观看福利| 久久成人在线| 免费亚洲视频| 亚洲日本中文字幕区| 亚洲裸体视频| 亚洲欧美视频一区二区三区| 欧美在线视频不卡| 老司机一区二区三区| 欧美久久久久久| 国产麻豆午夜三级精品| 樱桃国产成人精品视频| 99精品国产99久久久久久福利| 亚洲欧美日韩天堂一区二区| 久久亚洲精品一区| 亚洲日本中文字幕| 亚洲欧美一区二区视频| 麻豆成人精品| 国产乱子伦一区二区三区国色天香| 精品动漫一区| 亚洲网址在线| 欧美大片在线看| 亚洲永久免费av| 欧美激情一区二区三区四区| 国产精品综合网站| 夜夜躁日日躁狠狠久久88av| 久久蜜臀精品av| 99精品热视频| 欧美大片一区二区三区| 国产三级精品三级| 亚洲一本视频| 亚洲国产91| 久久蜜桃香蕉精品一区二区三区| 国产精品久久国产精麻豆99网站| 亚洲黄色免费| 欧美日韩国产电影| 国产亚洲一二三区| 亚洲欧美日韩在线观看a三区| 亚洲国产福利在线| 美女图片一区二区| 国产自产v一区二区三区c| 亚洲欧美国产高清| 一本色道久久加勒比精品| 欧美第一黄网免费网站| 一区二区三区在线视频播放| 久久国产主播精品| 亚洲午夜一区二区三区| 欧美日韩黄视频| 亚洲乱码国产乱码精品精98午夜| 牛夜精品久久久久久久99黑人| 性欧美暴力猛交69hd| 国产精品a级| 欧美久久久久中文字幕| 亚洲大胆女人| 欧美成人高清视频| 久久久久久网址| 亚洲电影免费在线观看| 亚洲高清精品中出| 欧美激情精品久久久| 亚洲伦理自拍| 一区二区激情小说| 国产精品美女久久久浪潮软件| 亚洲午夜精品17c| 99v久久综合狠狠综合久久| 欧美日本中文字幕| 亚洲影院高清在线| 亚洲影院色无极综合| 国产婷婷色综合av蜜臀av | 久久久久久久97| 红桃视频一区| 亚洲第一精品福利| 欧美日韩在线播放三区| 欧美一区二区三区电影在线观看| 久久国产精品亚洲va麻豆| 在线观看不卡| 亚洲欧洲日韩在线| 国产精品推荐精品| 欧美va日韩va| 欧美日韩国产成人高清视频| 亚洲欧美高清| 老牛影视一区二区三区| 在线视频免费在线观看一区二区| 亚洲色图综合久久| 在线观看视频亚洲| 99爱精品视频| 在线观看av一区| 亚洲天堂av图片| 一区二区三区在线不卡| 最新国产精品拍自在线播放| 国产九区一区在线| 亚洲黄色高清| 国产亚洲福利| 亚洲日本激情| 精品动漫3d一区二区三区免费版| 亚洲精品日韩欧美| 黄色一区二区在线| 一本到高清视频免费精品| 韩国av一区二区三区在线观看| 亚洲精品极品| 伊人久久婷婷色综合98网| 日韩视频在线观看免费| 伊人成人网在线看| 亚洲小说欧美另类社区| 亚洲精选视频在线| 欧美亚洲自偷自偷| 亚洲在线观看免费视频| 麻豆久久婷婷| 久久日韩粉嫩一区二区三区| 欧美日韩免费高清| 欧美成人嫩草网站| 国产一区二区三区高清在线观看| 亚洲精品日韩在线| 亚洲成在线观看| 欧美激情二区三区| 国产欧美日韩精品丝袜高跟鞋| 亚洲黄一区二区| 在线精品亚洲| 久久精品人人| 久久精品国产999大香线蕉| 欧美日韩成人激情| 亚洲黄页视频免费观看| 亚洲欧洲午夜| 欧美在线观看网站| 亚洲欧美日韩国产成人精品影院| 欧美大尺度在线观看| 男同欧美伦乱| 在线观看不卡| 欧美va天堂va视频va在线| 久久夜色精品国产欧美乱| 国产无遮挡一区二区三区毛片日本| 99在线精品视频| 一本色道婷婷久久欧美| 美女国内精品自产拍在线播放| 久久婷婷色综合| 好看的日韩视频| 久久精品三级| 欧美成人三级在线| 亚洲清纯自拍| 欧美日韩国产精品一卡| 亚洲日韩视频| 亚洲一区在线看| 国产视频自拍一区| 久久久九九九九| 免费成人在线观看视频| 亚洲黄网站在线观看| 欧美多人爱爱视频网站| 亚洲精品日韩一| 午夜国产不卡在线观看视频| 国产精品一区免费视频| 久久不射中文字幕| 最新中文字幕亚洲| 亚洲影院一区| 黄色成人小视频| 欧美国产免费| 中文亚洲视频在线| 久久伊人一区二区| 日韩视频在线观看国产| 国产精品久久久| 久久精品国产综合精品| 亚洲三级性片| 久久精品国产2020观看福利| 1000部国产精品成人观看| 欧美另类在线播放| 先锋a资源在线看亚洲| 欧美国产视频在线观看| 亚洲欧美制服中文字幕| 影音国产精品| 欧美日韩精品中文字幕| 久久成人资源| 日韩视频在线免费| 欧美激情精品久久久六区热门 | 99精品热视频只有精品10| 欧美影院视频| 亚洲精选久久| 韩国精品久久久999| 欧美日韩亚洲网| 久久久久国产精品一区三寸| 日韩午夜高潮| 欧美黄色免费网站| 欧美专区在线观看| aaa亚洲精品一二三区| 激情综合色综合久久综合| 亚洲女人天堂成人av在线| 欧美大片免费观看| 欧美在线国产| 亚洲视频精选| 亚洲麻豆国产自偷在线| 国产一区二区三区直播精品电影| 欧美日韩a区| 欧美激情视频一区二区三区免费| 校园激情久久| 亚洲天堂av在线免费观看| 亚洲精品五月天| 亚洲第一精品福利| 麻豆国产精品一区二区三区| 久久国产加勒比精品无码| 亚洲欧美亚洲|