p2837 晚餐佇列安排
對程式有新的理解
難度:讀懂題&&準確地從題中提取有效資訊》設計演算法》**實踐
mmp,我看錯題啦。
字首和&&列舉斷點即可
1 #include2 #include3 #include4 #include5 #include6view code#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 }
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 的卡...