P2837 晚餐佇列安排

2022-03-09 07:43:10 字數 974 閱讀 6318

p2837 晚餐佇列安排

對程式有新的理解

難度:讀懂題&&準確地從題中提取有效資訊》設計演算法》**實踐

mmp,我看錯題啦。

字首和&&列舉斷點即可

1 #include2 #include3 #include4 #include5 #include6

#define inf 2147483647

7#define for(i,a,b) for(register int i=a;i<=b;i++)

8#define p(a) putchar(a)

9#define g() getchar()

10//

by war

11//

2017.10.18

12using

namespace

std;

13int

n;14

int sum[300010

];15

intx;

16int

ans;

17void

in(int &x)

1827

while(c<='

9'&&c>='

0')x=x*10+c-'

0',c=g();

28 x*=y;29}

30void o(int

x)31

37if(x>9)o(x/10

);38 p(x%10+'0'

);39}40

intmain()

4151

int ans=inf;

52for(int i=1;i<=n+1;i++)

53 ans=min(i-1-sum[i-1]+sum[n]-sum[i-1

],ans);

54o(ans);

55return0;

56 }

view code

P2837 晚餐佇列安排

此題可能用動規不太好做,主要是狀態轉移方程很難想個人認為,思維發散的大佬們忽視。我看了這位大佬的 dp 題解後才想到了方程,在此受我一膜 嗯,說下思路 先用 a i 陣列存一下輸入的編號 然後用二維陣列 dp i 0 1 來表示當前第 i 頭奶牛的編號改成 1 或 2 所用的最少次數 0 表示改成 ...

P2837 晚餐佇列安排

我們先來理解一下題意 奶牛保持乙個混亂的順序站好不動,手裡拿著的牌只有可能是1號或 2 號,農場主很懶 要改它們的牌改成以下三種 111111111 全是第一批 22222222 全是第二批 111112222 前邊是第一批,後邊是第二批 注意不可以是22222111111,因為1,2代表了吃飯的批...

線性dp 晚餐佇列安排 (洛谷 P2837)

題目描述 為了避免餐廳過分擁擠,fj要求奶牛們分2批就餐。每天晚飯前,奶牛們都會在餐廳前排隊入內,按fj的設想,所有第2批就餐的奶牛排在隊尾,隊伍的前半部分則由設定為第1批就餐的奶牛佔據。由於奶牛們不理解fj的安排,晚飯前的排隊成了乙個 煩。第i頭奶牛有一張標明她用餐批次d i 1 d i 2 的卡...