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

算法學(xué)社
記錄難忘的征途
posts - 141,comments - 220,trackbacks - 0
A題

分兩部分求,因?yàn)轭}目數(shù)只有15,所以可以2^15枚舉分組情況(分給L還是分給M)。

接下來求對(duì)于同一size的M種顏色的氣球分配給N個(gè)題目的最小代價(jià)。
排序之后,從大到小貪心的分配就可以了。

 1 #include<iostream>
 2 #include<string>
 3 #include<vector>
 4 using namespace std;
 5 const int inf = ~0u>>2;
 6 int make(vector<int> &flag, vector<int> &num){
 7     int n = num.size(), m = flag.size(),len = min(n,m);
 8     int suma  = 0, sumb = 0;
 9     for(int i = 0; i < n; i++) suma += num[i];
10     for(int i = 0; i < m; i++) sumb += flag[i];
11     if(suma > sumb) return inf;
12     for(int i = 0; i < len; i++) suma -= min(num[i],flag[i]);
13     return suma;
14 }
15 bool cmp(int a,int b){return a>b;}
16 void op(vector<int> s){
17     for(int i = 0; i < s.size(); i++)cout<<s[i]<<" ";cout<<endl; 
18 }
19 class ICPCBalloons{
20     public :
21     int minRepaintings(vector <int> bC, string bS, vector <int> num){
22         int n= num.size();
23         vector<int> M ,L;
24         for(int i =0; i < bS.size(); i++if(bS[i] == 'L') L.push_back(bC[i]); else M.push_back(bC[i]);
25         sort(M.begin(),M.end(),cmp);
26         sort(L.begin(),L.end(),cmp);
27         sort(num.begin(),num.end(),cmp);
28         cout<<"M: "<<endl; op(M);
29         cout<<"L: "<<endl; op(L);
30         int ans = inf;
31         for(int i = 0; i < (1<<n); i++) {
32             vector<int> m,l;
33             for(int j = 0; j < n; j++if(1<<& i) m.push_back(num[j]); else l.push_back(num[j]);
34             int a = make(M,m);
35             int b = make(L,l);
36             //cout<<"m: "<<endl; op(m);
37             //cout<<"l: "<<endl; op(l);
38             ans = min(ans,a+b);
39         }
40         return ans == inf ? -1 : ans;
41     }
42 };

B題

博弈,給若干個(gè)有根樹,節(jié)點(diǎn)數(shù)不超過50,兩個(gè)人輪流給某個(gè)未染色的點(diǎn)染色,這個(gè)點(diǎn)一旦被染色,它以及它的所有祖先就都被染色了。
問先手勝還是后手勝。

樹形DP求SG值,復(fù)雜度O(n^3)。非常裸...
更大規(guī)模的解法見 
http://www.2333333.tk/182.html


#include<string>
#include
<iostream>
#include
<vector>
#include
<cmath>
using namespace std;
const int N = 55;
int P[N] ,n, dp[N];
vector
<int> G[N];
inline 
void setc(int p,int c){P[c] = p;
    G[p].push_back(c);
}
bool ispar(int s,int p){
    
while(s!=-1){if(s==p)return 1; s=P[s];} return 0;
}
int dfs(int u) {
//    cout<<"u; "<<u<<endl;
    int &ans = dp[u];
    
if(ans != -1) {
        
//cout<<"back"<<endl;
        return ans;
    }
    
bool vis[101= {0};
    
for(int i = 0; i < n; i++if(ispar(i,u)) {
    
//    cout<<"i: "<<i<<endl;
        int v = i, last = -1 ,sg = 0;
        
while(v != P[u]) {
            
for(int j = 0; j < G[v].size(); j ++if(G[v][j] != last) sg ^= dfs(G[v][j]);
            last 
= v;
            v 
= P[v];
        }
        vis[sg] 
= 1;
    }
    
for(int i = 0; i < 101; i++if(!vis[i]) {ans = i; break;}
    
//cout<<"back"<<endl;
    return ans;
}
double dis(int x0,int y0,int x1,int y1){return sqrt(1.0*(x0-x1)*(x0-x1) + 1.0*(y0-y1)*(y0-y1));}
class CirclesGame{
    
public
    
string whoCanWin(vector <int> x, vector <int> y, vector <int> r){
        memset(P,
-1,sizeof(P));
        memset(dp,
-1,sizeof(dp));
        n 
= x.size();
        
for(int i  =0 ; i < n; i++) {
            
int s = -1;
            
for(int j= 0; j < n; j++if(j != i && 1.0*(r[j] - r[i]) > dis(x[i],y[i],x[j],y[j])){
                
//cout<<j<<" "<<i<<" "<<r[j]-r[i]<<" "<<dis(x[i],y[i],x[j],y[j])<<endl;
                if(s == -1 || r[j] < r[s]) s = j;
            }
            
if(s != -1){     
                setc(s,i);
            }
        }
        
//cout<<"endl"<<endl;
    
//    for(int i = 0; i < n; i++) cout<<P[i]<<" ";cout<<endl;
        int ans = 0;
        
for(int i = 0; i < n; i++if(-1 == P[i]) ans ^= dfs(i);
        
return ans ? "Alice" : "Bob";
    }
};
posted on 2012-11-21 16:02 西月弦 閱讀(550) 評(píng)論(3)  編輯 收藏 引用 所屬分類: 解題報(bào)告

FeedBack:
# re: topcoder srm 561 div1[未登錄]
2012-11-23 13:14 | kaka
不是很明白,能不能詳細(xì)說一下第二題的思路?  回復(fù)  更多評(píng)論
  
# re: topcoder srm 561 div1
2012-11-24 14:30 | 西月弦
@kaka
這個(gè)... 就是對(duì)于每個(gè)局面計(jì)算SG值。  回復(fù)  更多評(píng)論
  
# re: topcoder srm 561 div1[未登錄]
2012-11-24 20:57 | kaka
@西月弦
看完sg函數(shù),終于明白代碼的含義了....  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲六月丁香色婷婷综合久久| 免费人成精品欧美精品| 亚洲欧美一区二区原创| 欧美理论在线| 国产精品户外野外| 亚洲欧美另类在线| 亚洲欧洲一区二区在线播放| 欧美激情黄色片| aa级大片欧美| 欧美日韩高清在线| 亚洲图片在区色| 久久天天躁狠狠躁夜夜爽蜜月| 欧美gay视频激情| 欧美国产亚洲精品久久久8v| 激情亚洲网站| 亚洲综合色网站| 欧美福利电影网| 亚洲一区二区在线| 国产麻豆91精品| 欧美成人免费全部| 欧美日韩精品| 亚洲人成在线观看| 亚洲婷婷在线| 欧美金8天国| 亚洲欧美大片| 久热精品在线视频| 一区二区三区精密机械公司 | 亚洲乱码国产乱码精品精| 亚洲精品四区| 久久久久久久久久久成人| 一本久道久久综合狠狠爱| 亚洲精品激情| 国产欧美日本| 亚洲第一级黄色片| 国产伦精品一区二区三区在线观看| av不卡免费看| 欧美国产一区二区| 国产精品久久国产愉拍| 女人天堂亚洲aⅴ在线观看| 欧美视频在线观看免费| 久久久久一本一区二区青青蜜月| 亚洲一区一卡| 亚洲精选中文字幕| 美女在线一区二区| 久久这里只有| 99国内精品| 欧美日韩在线视频一区二区| 一级成人国产| 久久久精品五月天| 午夜在线视频观看日韩17c| 国产精品资源在线观看| 一区二区av在线| 欧美日韩国产一级片| 亚洲一区二区免费| 欧美成人嫩草网站| 欧美精品高清视频| 韩日精品中文字幕| 亚洲香蕉成视频在线观看| 欧美性一二三区| 欧美日韩四区| 国产亚洲视频在线| 日韩小视频在线观看专区| 欧美一区二区三区在线看| 国产亚洲永久域名| 久久久久中文| 欧美中文在线免费| 在线日韩中文字幕| 久久久水蜜桃| 久久久久久久999| 免费观看一级特黄欧美大片| 亚洲第一精品福利| 亚洲精品中文字幕在线| 久久影院午夜论| 欧美一区二区三区免费观看视频| 亚洲精品一级| 欧美11—12娇小xxxx| 狠狠色综合网站久久久久久久| 久久超碰97中文字幕| 久久精品在线播放| 欧美一区二区三区视频免费播放| 国产午夜精品福利| 亚洲欧美色婷婷| 久久国产一区二区| 欧美1区2区3区| 亚洲第一天堂av| 欧美日韩一区不卡| 99国产精品久久久久久久久久| 精品动漫3d一区二区三区| 久久在线免费| 亚洲天堂av高清| 六月婷婷久久| 亚洲一区二区在| 激情六月婷婷久久| 亚洲欧美日韩中文播放| 久久夜色精品国产欧美乱| 一本久久综合| 国产一区激情| 欧美三日本三级少妇三2023| 欧美一级视频免费在线观看| 欧美激情在线狂野欧美精品| 欧美午夜精品| 久久在线精品| 一区二区三区黄色| 久久激情五月丁香伊人| 老司机精品福利视频| 日韩亚洲欧美综合| 久久先锋影音| 欧美一区二区三区在线看| 国产精品一二| 亚洲日本激情| 亚洲精品一区中文| 在线播放豆国产99亚洲| 99精品国产一区二区青青牛奶| 亚洲人成在线观看一区二区 | 亚洲一级在线观看| 亚洲福利电影| 夜夜嗨av一区二区三区网站四季av| 久久久久久免费| 欧美aⅴ99久久黑人专区| 欧美日韩免费观看一区三区 | 欧美激情精品久久久六区热门 | 久久av一区二区三区漫画| 日韩视频在线一区| 日韩视频在线观看| 亚洲一区bb| 亚洲欧美欧美一区二区三区| 麻豆成人在线| 小辣椒精品导航| 久久爱另类一区二区小说| 欧美成人激情在线| 91久久精品美女| 亚洲一区欧美二区| 欧美电影在线观看| 亚洲免费在线观看| 国产一区二区三区四区| 亚洲免费视频网站| 噜噜噜91成人网| 日韩天堂在线观看| 久久视频一区二区| 亚洲尤物在线| 久久婷婷综合激情| 亚洲人成亚洲人成在线观看图片 | 国产一区在线观看视频| 亚洲一区二区视频在线| 午夜精品av| 一区二区三区精品国产| 久久精品国产999大香线蕉| 日韩手机在线导航| 久久精品人人做人人爽| 日韩亚洲综合在线| 欧美国产日韩一区| 欧美二区在线播放| 久久不射网站| 亚洲一区二区三区在线观看视频 | 精品成人a区在线观看| 久久综合婷婷| 亚洲人成免费| 亚洲精品一二三区| 欧美在线视屏| 99国内精品久久| 久久精品欧美日韩| 欧美肥婆bbw| 亚洲一区二区网站| 极品尤物久久久av免费看| 欧美一级电影久久| 欧美激情精品久久久久久蜜臀| 欧美1区2区| 91久久久国产精品| 亚洲日本精品国产第一区| 欧美韩国一区| 午夜精品亚洲| 国产精品日韩二区| 麻豆九一精品爱看视频在线观看免费 | 一区二区三区免费网站| 久久国产精品99久久久久久老狼| 欧美在线视频a| 欧美亚洲视频一区二区| 欧美一级黄色网| 羞羞视频在线观看欧美| 国模私拍视频一区| 午夜视频在线观看一区| 久久久久99| 亚洲欧美国产高清va在线播| 欧美偷拍另类| 亚洲第一网站| 欧美刺激午夜性久久久久久久| 欧美一区二区三区免费观看| 亚洲美女网站| 日韩一级免费观看| 亚洲视频专区在线| 99国产麻豆精品| 亚洲桃花岛网站| 国产在线成人| 你懂的国产精品永久在线| 国产一区二区激情| 亚洲观看高清完整版在线观看| 国产日韩欧美日韩| 国产精品私房写真福利视频| 欧美日韩一区二区免费在线观看 | 国产精品久久久一区麻豆最新章节|