【luogu2737】 [USACO4.1]麦香牛块Beef McNuggets [动态规划 完全背包][数学 扩展欧几里德]...
生活随笔
收集整理的這篇文章主要介紹了
【luogu2737】 [USACO4.1]麦香牛块Beef McNuggets [动态规划 完全背包][数学 扩展欧几里德]...
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
證明應(yīng)該是小凱的誘惑的升級(jí)版
應(yīng)該可以用那個(gè)同余最短路來跑
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 #define rg register 5 const int N=20,M=256*256+5; 6 int n,pri[N],ans=0,pro[M+55]; 7 template <class t>void rd(t &x) 8 { 9 x=0;int w=0;char ch=0; 10 while(!isdigit(ch)) w|=ch=='-',ch=getchar(); 11 while(isdigit(ch)) x=(x<<1)+(x<<3)+(ch^48),ch=getchar(); 12 x=w?-x:x; 13 } 14 15 int main() 16 { 17 // freopen("nuggets.in","r",stdin); 18 // freopen("nuggets.out","w",stdout); 19 rd(n); 20 memset(pro,0,sizeof(pro));pro[0]=1; 21 for(rg int i=1;i<=n;++i) rd(pri[i]),pro[pri[i]]=1; 22 for(rg int i=1;i<=n;++i) 23 for(rg int j=0;j<=M;++j) 24 if(pro[j]) pro[pri[i]+j]=1; 25 for(rg int i=M;i>=0;--i) 26 if(!pro[i]) {ans=i;break;} 27 if(ans>256*256) ans=0; 28 printf("%d",ans); 29 return 0; 30 }轉(zhuǎn)載于:https://www.cnblogs.com/lxyyyy/p/10808870.html
總結(jié)
以上是生活随笔為你收集整理的【luogu2737】 [USACO4.1]麦香牛块Beef McNuggets [动态规划 完全背包][数学 扩展欧几里德]...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++---拷贝构造函数和赋值构造函数
- 下一篇: 四月读书主题整理——用尽费退,打磨身体