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

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評論 - 47, 引用 - 0
數(shù)據(jù)加載中……

POJ 2492 A Bug's Life 并查集

思路:

這題的背景是亮點,描述如下:
Background 
Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite gender. In his experiment, individual bugs and their interactions were easy to identify, because numbers were printed on their backs.
Problem 
Given a list of bug interactions, decide whether the experiment supports his assumption of two genders with no homosexual bugs or if it contains some bug interactions that falsify it.

Hopper 在研究某種稀有蟲子的性行為。他假設(shè)蟲子們有兩種不同的性別,而且它們只跟異性發(fā)生關(guān)系。
在他的試驗里,每個蟲子和它的性行為都很容易辨認(rèn),因為它們的背后印著號碼。
給出一些蟲子的性行為,確定是否有同性戀的蟲子能推翻這個假設(shè)。

同性戀確實讓人無法接受,無論是人還是蟲子。。

這題的解法不是亮點,就是普通的并查集,數(shù)據(jù)量非常龐大,需要路徑壓縮。

#include <stdio.h>
#include 
<string.h>

int N, T, set[2048], val[2048];

inline 
int find(int idx)
{
    
static int stk[2048], i;

    
for (i = 0set[idx]; i++{
        stk[i] 
= idx;
        idx 
= set[idx];
    }

    
for (i--; i >= 0; i--{
        val[stk[i]] 
^= val[set[stk[i]]];
        
set[stk[i]] = idx;
    }


    
return idx;
}


int main()
{
    
int i, j, a, b, t, m, r;

    scanf(
"%d"&T);
    
for (t = 1; t <= T; t++{
        scanf(
"%d%d"&N, &m);
        memset(
set0, (N + 1* 4);
        memset(val, 
0, (N + 1* 4);
        r 
= 0;
        
while (m--{
            scanf(
"%d%d"&a, &b);
            i 
= find(a);
            j 
= find(b);
            
if (i == j) 
                r 
|= val[a] == val[b];
            
else {
                
set[i] = b;
                val[i] 
= !val[a];
            }

        }

        printf(
"Scenario #%d:\n%s\n\n"
                t,
                r 
? "Suspicious bugs found!" : "No suspicious bugs found!"
                );
    }


    
return 0;
}

posted @ 2010-04-17 20:57 糯米 閱讀(756) | 評論 (0)編輯 收藏

POJ 1324 Holedox Moving 貪食蛇

     摘要: 思路:繼推箱子以后,又發(fā)現(xiàn)POJ上有這類題目,哈哈。這次是給出一條貪食蛇當(dāng)前的狀態(tài)、墻的位置、食物的位置。求吃到食物需要走的最小的步數(shù)。這類題目是相當(dāng)牛逼的!高手的速度可以做到很BT的。在 status 上面就看到有 0ms 的!相當(dāng)震驚,如此龐大的數(shù)據(jù)量能做到 0ms,肯定是神牛!后來搜了一下,還找到了那位神牛的博客,看了一下,發(fā)現(xiàn)看不大懂,杯具。。哪一天有空,一定會再想一下這道題的。一開始想了...  閱讀全文

posted @ 2010-04-17 20:47 糯米 閱讀(764) | 評論 (0)編輯 收藏

POJ 2437 Muddy roads 貪心

思路:

四個字:能放就放。。

#include <stdio.h>
#include 
<stdlib.h>

int arr[10032][2], N, L, ans;

int cmp(const void *a, const void *b)
{
    
return *(int *)a - *(int *)b;
}


inline 
int max(int a, int b)
{
    
return a > b ? a : b;
}


int main()
{
    
int i, p, c;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d%d"&N, &L);
    
for (i = 0; i < N; i++)
        scanf(
"%d%d"&arr[i][0], &arr[i][1]);
    qsort(arr, N, 
sizeof(arr[0]), cmp);

    
for (i = p = 0; p < N; ) {
        i 
= max(i, arr[p][0]);
        c 
= (arr[p][1- i + L - 1/ L;
        i 
+= c * L;
        ans 
+= c;
        
while (p < N && i >= arr[p][1])
            p
++;
    }


    printf(
"%d\n", ans);

    
return 0;
}

posted @ 2010-04-17 20:27 糯米 閱讀(384) | 評論 (0)編輯 收藏

POJ 2436 Disease Management 排列組合

     摘要: 思路:這題沒有啥好的方法了,看來。用組合C(K, D)枚舉所有可能的疾病集合。其實復(fù)雜度很高的,C(15, 7) 都不知道多大了。但是數(shù)據(jù)比較弱。用別人的代碼試了一下,用STL里面的全排列生成函數(shù),都可以 60ms AC。下面的代碼,沒有用STL里面的函數(shù),我以為會快一點,結(jié)果慢了不少,200+ms。。原理就是把16位分成2個8位來處理。#include <stdio.h>...  閱讀全文

posted @ 2010-04-17 20:24 糯米 閱讀(556) | 評論 (0)編輯 收藏

POJ 2434 Waves 模擬

     摘要: 思路:每個石頭可以分為兩個波,一個高峰波,一個低谷波。每個波可以分為很多個水平方向的波。每個水平方向的波有三種情況,起始點的位置:1. 位于 B1 左邊2. 位于 B1,B2 中間3. 位于 B2 右邊其中第2種情況有點麻煩,多次往返的話要一次算完。代碼:#include <stdio.h>#include <string.h>int P,&...  閱讀全文

posted @ 2010-04-14 16:57 糯米 閱讀(455) | 評論 (0)編輯 收藏

POJ 2431 Expedition 貪心+堆

思路:

有油的時候能走多遠(yuǎn)就走多遠(yuǎn),看能否走到目的地。
如果走不到,就必須要加一次油,途中會遇到很多加油站,一定要選油最多的那個。
這很容易理解,因為如果你只加這一次,越多當(dāng)然越好。如果要以后還要加,那能走遠(yuǎn)一點選擇也多一點。

重復(fù)這樣的過程就可以求解了。可以用堆維護(hù)加油站中的油量。

杯具:稍稍修改了一下堆的寫法,結(jié)果WA兩次。。

代碼:
#include <stdio.h>
#include 
<stdlib.h>

#define MAX_N 10032

struct node {
    
int x, f;
}
;

struct node stop[MAX_N];
int N, L, P;
int heap[MAX_N], heap_size;

inline 
void shift_up(int idx)
{
    
int val = heap[idx];
    
while (idx > 1 && heap[idx/2< val) {
        heap[idx] 
= heap[idx/2];
        idx 
/= 2;
    }

    heap[idx] 
= val;
}


inline 
void shift_down(int idx)
{
    
int val = heap[idx];
    
while (1{
        idx 
*= 2;
        
if (idx > heap_size)
            
break;
        
if (idx + 1 <= heap_size && heap[idx + 1> heap[idx])
            idx
++;
        
if (val >= heap[idx])
            
break;
        heap[idx
/2= heap[idx];
    }

    heap[idx
/2= val;
}


int cmp(const void *a, const void *b)
{
    
return ((struct node *)b)->- ((struct node *)a)->x;
}


inline 
void push(int val)
{
    heap[
++heap_size] = val;
    shift_up(heap_size);
}


inline 
void pop()
{
    heap[
1= heap[heap_size--];
    shift_down(
1);
}


int main()
{
    
int i, x, t;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d"&N);
    
for (i = 0; i < N; i++)
        scanf(
"%d%d"&stop[i].x, &stop[i].f);
    scanf(
"%d%d"&L, &P);
    qsort(stop, N, 
sizeof(stop[0]), cmp);

    push(P);
    x 
= L;
    i 
= 0;
    
for (t = 0; heap_size && x > 0; t++{
        x 
-= heap[1];
        pop();
        
while (i < N && x <= stop[i].x)
            push(stop[i
++].f);
    }

    printf(
"%d\n", x <= 0 ? t - 1 : -1);

    
return 0;
}



posted @ 2010-04-13 13:53 糯米 閱讀(611) | 評論 (0)編輯 收藏

POJ 3040 Allowance 貪心

思路:

每次放錢的時候,遵循兩個原則來尋找最優(yōu)方案:
1. 不能用面額小的組成面額大的
2. 所有方案中取最接近 C 的那個
就這樣一次次的放,放到?jīng)]錢為止。

注意,由于貨幣的數(shù)量較大,如果最優(yōu)方案可以執(zhí)行多次,那就一次過執(zhí)行完。

#include <stdio.h>
#include 
<stdlib.h>

#define MAX_N 64

struct node {
    
int val, cnt;
}
;
struct node coin[MAX_N];
int N, C, best, best_idx, ans, need[MAX_N];

inline 
int min(int a, int b)
{
    
return a < b ? a : b;
}


int cmp(const void *a, const void *b)
{
    
return ((struct node *)a)->val - ((struct node *)b)->val;
}


inline 
int put(int idx, int val)
{
    
int n;

    n 
= min(coin[idx].cnt, (C - val - 1/ coin[idx].val);
    val 
+= coin[idx].val * n;
    
if (coin[idx].cnt > n) {
        
if (!best || val + coin[idx].val < best) {
            best 
= val + coin[idx].val;
            best_idx 
= idx;
        }

    }
 
    need[idx] 
= n;

    
return val;
}


inline 
int can()
{
    
int i, val;

    best 
= val = 0;
    
for (i = N - 1; i >= 0; i--)
        val 
= put(i, val);

    
return best;
}


inline 
void update()
{
    
int i, cnt;

    cnt 
= 100000000;
    need[best_idx]
++;
    
for (i = N - 1; i >= best_idx; i--)
        
if (need[i])
            cnt 
= min(cnt, coin[i].cnt / need[i]);
    
for (i = N - 1; i >= best_idx; i--
        coin[i].cnt 
-= cnt * need[i];
    ans 
+= cnt;
}


int main()
{
    
int i;

    scanf(
"%d%d"&N, &C);
    
for (i = 0; i < N; i++
        scanf(
"%d%d"&coin[i].val, &coin[i].cnt);
    qsort(coin, N, 
sizeof(coin[0]), cmp);
    
    
while (coin[N - 1].val >= C) {
        ans 
+= coin[N - 1].cnt;
        N
--;
    }

    
while (can())
        update();
    
    printf(
"%d\n", ans);

    
return 0;
}

posted @ 2010-04-13 12:25 糯米 閱讀(567) | 評論 (0)編輯 收藏

POJ 2430 Lazy Cows 動態(tài)規(guī)劃

     摘要: 屬于狀態(tài)型的動態(tài)規(guī)劃,特難搞的那一類,狀態(tài)一多,轉(zhuǎn)換的時候難免遺漏一兩個。這題還算,借助數(shù)據(jù)搞出來了,漏了兩個轉(zhuǎn)移,結(jié)果一組數(shù)據(jù)過不了。后來加上就AC了,時間還行,32MS。思路:從左往右開始放矩形,假設(shè)現(xiàn)在準(zhǔn)備擺放第i列之后的矩形。實際上我們只關(guān)注第i-1列是怎么擺的,前面怎么擺都無所謂。所以,第i列牛的狀態(tài) + 第i-1列擺放的狀態(tài) -> 第i列擺放的狀態(tài)擺放的狀態(tài)有五種:1. 光上面有...  閱讀全文

posted @ 2010-04-13 12:19 糯米 閱讀(1010) | 評論 (0)編輯 收藏

POJ 3047 Bovine Birthday 算日期

看到這道題,忽然想到,這就是大一時候C++考試的最后一題啊!
叫寫一個程序,計算今天是星期幾。
那時候記得寫滿了半張卷子。。八成還沒寫對。
不過今天,只用了5行!
我感到很由衷的高興,面包會有的,牛奶會有的,腦殘只是暫時的!

#include <stdio.h>

int days[] = {
    
0,
    
315990120,
    
151181212243,
    
273304334365
}
;

char *weeks[] = {
    
"monday""tuesday""wednesday"
    
"thursday""friday""saturday"
    
"sunday"
}
;

int main()
{
    
int y, m, d, w;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d%d%d"&y, &m, &d);
    d 
+= (y - 1799)*365 - 1;
    
if (m <= 2)
        y
--;
    d 
+= (y/4 - 449- (y/100 - 17+ y/400 - 4 + days[m - 1];
    w 
= (d + 1% 7;
    printf(
"%s\n", weeks[w]);

    
return 0;
}

posted @ 2010-04-12 16:51 糯米 閱讀(323) | 評論 (0)編輯 收藏

POJ 3039 Skiing 單源最短路徑

這題看起來很屌。
但是實際上走到每個點之后,速度必然是當(dāng)前點和左上角點的差值的倒數(shù)。
所以,每個點到其他點的所花費的時間都是這個點自己的值決定的。
而且沒可能經(jīng)過一個點兩次的,因為經(jīng)過兩次肯定是浪費時間的。
問題就變成了求最短路徑。

注意:
這題的精度很莫名其妙,用C++可以AC的,G++、GCC都是WA。
不能用整數(shù)來保存時間,雖然看上去位數(shù)是夠用的,但是遇到比較屌的數(shù)據(jù)就掛了。
就在這個問題上杯具了很久。

#include <stdio.h>
#include 
<math.h>

#ifndef _countof
#define _countof(x) (sizeof(x)/sizeof(x[0]))
#endif

#define SIZE 128

int map[SIZE][SIZE], R, C, V;
double D[SIZE][SIZE], _tbl[128], *tbl = &_tbl[64];
int queue[65536][2], head, tail;
int vis[SIZE][SIZE];

inline 
void push(int y, int x, double d)
{
    
if (y < 0 || y >= R || x < 0 || x >= C)
        
return ;
    
if (d > D[y][x])
        
return ;
    D[y][x] 
= d;
    
if (vis[y][x])
        
return ;
    vis[y][x] 
= 1;
    queue[tail][
0= y;
    queue[tail][
1= x;
    tail
++;
    tail 
&= _countof(queue) - 1;
}


inline 
void pop(int *y, int *x)
{
    
*= queue[head][0];
    
*= queue[head][1];
    head
++;
    head 
&= _countof(queue) - 1;
    vis[
*y][*x] = 0;
}


int main()
{
    
int i, j;
    
double d;

    freopen(
"e:\\test\\in.txt""r", stdin);

    
for (i = -64; i <= 64; i++)
        tbl[i] 
= pow(2.0, i);

    scanf(
"%d%d%d"&V, &R, &C);
    
for (i = 0; i < R; i++{
        
for (j = 0; j < C; j++{
            scanf(
"%d"&map[i][j]);
            
if (i || j)
                map[i][j] 
-= map[0][0];
            D[i][j] 
= 1e80;
        }

    }

    map[
0][0= 0;

    push(
000); 
    
while (head != tail) {
        pop(
&i, &j);
        d 
= D[i][j] + tbl[map[i][j]];
        push(i 
+ 1, j, d);
        push(i 
- 1, j, d);
        push(i, j 
+ 1, d);
        push(i, j 
- 1, d);
    }


    printf(
"%.2lf\n", D[R - 1][C - 1/ V);
    
    
return 0;
}

posted @ 2010-04-12 16:45 糯米 閱讀(484) | 評論 (0)編輯 收藏

僅列出標(biāo)題
共17頁: First 5 6 7 8 9 10 11 12 13 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久九九国产精品| 葵司免费一区二区三区四区五区| 欧美精品三级| 在线一区观看| 亚洲天堂激情| 国产一二精品视频| 欧美14一18处毛片| 欧美激情在线免费观看| 国产精品99久久久久久人| 中国成人亚色综合网站| 国产三级欧美三级日产三级99| 久久久久久夜精品精品免费| 久久久久久久尹人综合网亚洲| 亚洲黄色成人| 亚洲视频一二三| 国产一区二区三区在线观看网站 | 精品99视频| 亚洲大胆av| 国产精品国色综合久久| 久久久久99| 欧美日产国产成人免费图片| 亚洲欧美精品| 久久综合综合久久综合| 99这里有精品| 欧美在线观看视频| 一区二区毛片| 久久国产视频网| 亚洲午夜激情在线| 久久久久久久尹人综合网亚洲| 一本到12不卡视频在线dvd| 亚洲欧美日韩精品久久久| 亚洲国产福利在线| 亚洲欧美日韩精品久久久久| 亚洲精品综合| 久久久综合视频| 午夜精品久久久久久久99樱桃| 久久亚洲国产精品一区二区| 午夜精品福利在线| 欧美精品在线免费| 欧美jjzz| 一区在线电影| 午夜免费在线观看精品视频| 99re视频这里只有精品| 玖玖国产精品视频| 久久久久久久一区二区三区| 欧美午夜激情在线| 亚洲精品国偷自产在线99热| 在线成人中文字幕| 午夜精品一区二区三区电影天堂 | 欧美激情精品| 国产亚洲一区二区三区| av成人免费在线| 亚洲精品免费观看| 久久在线视频在线| 久久亚洲综合色一区二区三区| 国产精品日本一区二区| 日韩午夜免费| 一本色道久久综合狠狠躁篇怎么玩| 久久青草福利网站| 欧美v日韩v国产v| 亚洲国产成人高清精品| 久久精品亚洲精品| 久久综合色一综合色88| 国产一区二区视频在线观看| 性欧美大战久久久久久久久| 欧美一区日本一区韩国一区| 国产精品户外野外| 亚洲永久精品大片| 欧美一区二区在线播放| 国产日韩久久| 欧美一区二区在线| 久色婷婷小香蕉久久| 在线国产精品一区| 欧美福利一区二区三区| 亚洲精品资源| 亚洲视屏在线播放| 国产精品一区二区三区四区五区| 亚洲欧美国内爽妇网| 久久久久久久国产| 亚洲片国产一区一级在线观看| 欧美h视频在线| 亚洲精品视频在线看| 亚洲欧美成人网| 国产一区二区主播在线| 免费成人性网站| 99精品国产在热久久婷婷| 欧美一区不卡| 亚洲国产欧美日韩精品| 欧美日韩精品三区| 亚洲字幕一区二区| 媚黑女一区二区| 一本色道88久久加勒比精品| 国产精品久久久久久久免费软件| 欧美一区二区观看视频| 欧美福利一区| 亚洲一区三区电影在线观看| 国产综合精品一区| 欧美精彩视频一区二区三区| 亚洲视频一区二区在线观看| 久久久久久夜| 亚洲视频一区在线观看| 国产日韩成人精品| 欧美激情精品久久久久久大尺度| 亚洲尤物视频在线| 亚洲高清视频一区二区| 性欧美精品高清| 日韩午夜av| 激情自拍一区| 国产精品色一区二区三区| 噜噜噜久久亚洲精品国产品小说| 妖精成人www高清在线观看| 卡一卡二国产精品| 午夜亚洲精品| 亚洲精品一区二区三区福利| 国产色产综合产在线视频| 欧美电影免费观看高清| 久久久国产精品亚洲一区| 亚洲神马久久| 亚洲乱码视频| 亚洲电影欧美电影有声小说| 久久久久免费视频| 亚洲欧美日韩一区| 日韩一级精品| 亚洲春色另类小说| 国内精品一区二区| 国产精品视频免费| 欧美日韩少妇| 欧美福利视频一区| 裸体丰满少妇做受久久99精品 | 亚洲国产专区校园欧美| 久久在线视频在线| 久久久999国产| 欧美亚洲视频| 小黄鸭精品aⅴ导航网站入口| 99精品欧美一区二区蜜桃免费| 一区二区三区我不卡| 国产午夜精品一区二区三区欧美| 欧美午夜精彩| 欧美三级电影大全| 欧美色视频日本高清在线观看| 蘑菇福利视频一区播放| 米奇777超碰欧美日韩亚洲| 久久久久久久91| 久久久久久伊人| 久久久久欧美| 美国成人毛片| 欧美黑人国产人伦爽爽爽| 欧美www视频| 欧美日本三区| 欧美午夜美女看片| 国产精品无码专区在线观看| 国产精品免费aⅴ片在线观看| 国产精品美女久久久久久久 | 欧美jjzz| 欧美日韩免费看| 国产精品女同互慰在线看| 国产精品外国| 激情久久五月| 日韩午夜av在线| 亚洲一区激情| 久久久天天操| 欧美激情中文不卡| 99热这里只有精品8| 亚洲欧美韩国| 卡通动漫国产精品| 欧美日韩xxxxx| 国产网站欧美日韩免费精品在线观看 | 日韩视频免费观看高清在线视频 | 欧美中文在线视频| 老司机一区二区三区| 91久久在线播放| 亚洲一区二区免费| 久久久五月天| 欧美午夜一区二区| 好男人免费精品视频| 夜夜爽夜夜爽精品视频| 久久精品国产综合| 亚洲狠狠婷婷| 久久国产婷婷国产香蕉| 欧美乱妇高清无乱码| 国产嫩草一区二区三区在线观看 | 麻豆av福利av久久av| 亚洲精品影视| 久久不射电影网| 欧美久久视频| 国产一区二区三区高清| 一本久久知道综合久久| 久久九九免费视频| 中日韩美女免费视频网址在线观看| 午夜国产不卡在线观看视频| 欧美激情一区二区三区| 国产一区二区日韩| 亚洲曰本av电影| 亚洲精美视频| 久久在线免费观看| 国产日韩久久| 亚洲小说区图片区| 亚洲第一页中文字幕| 久久精品国产久精国产思思| 国产精品豆花视频|