第二題還算手穩+手快?最後勉強擠進前五百(期間看著自己從兩百多掉到494名)
1001 度度熊拼三角 (hdoj 6374)
簽到題
題意:給n根木棒 求可以拼出的周長最長的三角形
可以用貪心的思想做 對所有的木棒長度進行排序 取最長的三根進行判斷是否可以組成三角形 若不能 捨去最長的一根 每次都選擇相鄰的三根 for一遍就好
複雜度為o(nlogn)
**如下
#include #includeview code#include
#include
using
namespace
std;
const
int maxn=1010
;int
n,ans;
inta[maxn];
int cmp(int a,int
b)int check(int
x)int
main()
sort(a,a+n,cmp);
int flag=0
;
for(int i=0;i)
}if(flag==1) printf("
%d\n
",ans);
else printf("
-1\n");
}return0;
}
1002 度度熊學佇列 (hdoj 6375)
因為是用stl裡的list做的 對我來說也算是個簽到題了 幾乎就算是個list的板子題了
題意:rt 講的非常清楚
沒想到居然沒有卡 stl 從此有了stl的真香警告(突然開始打算好好學stl了)
**如下
#include #includeview code#include
#include
#include
using
namespace
std;
const
int maxn=150010
;list
lst[maxn];
intn,q,op,u,v,w,val;
void read(int &x)
intmain()
if(op==2
)
else
if(w==1) }}
if(op==3
) }}}
return0;
}
1003 度度熊剪紙條 (hdoj 6376)
比賽的時候沒有肝出來……orz
題意:給乙個長度為n的序列 全部由0 1組成 可以切k刀 切完後的k+1段可以自由拼接(不可翻轉)求最終序列中的字首1的數量
應該要分四種情況 先上男朋友的**
**如下
#include #includeview code#include
#include
#include
using
namespace
std;
const
int maxn=1e5+50
;int
n,k,cnt,cnt1,ans;
int b[4
];char
s[maxn];
struct
node
kk[maxn];
intcmp(node a,node b)
void work(int k,int
tmp)
}ans=max(ans,tmp);
}int
main()
printf(
"%d\n
",ans);
continue
; }
int num=0
; cnt=cnt1=0
;
for(int i=1;i<=n;i++)
else
if(num!=0
) num=0
; }
}k++;
ans=0
; sort(kk+1,kk+1+cnt,cmp);
if(cnt1==2
)
else
if(cnt1==1
)
else work(k,0
); printf(
"%d\n
",ans);
}return0;
}
2011百度之星程式設計大賽初賽A
第一題 圖示排列 研究發現,同乙個開發者開發的程式的圖示有很大的相似性。如果把同乙個開發者開發的應用放在一起,使用者很快就會厭倦相似的圖示,如果把這些圖示穿插擺放效果就會好很多。現在工程師想給使用者推薦來自m個開發者的n個應用,在推薦的時候這些應用的圖示將排成整齊的一行展示給使用者,相鄰兩個圖示之間...
2018百度之星初賽1003
problem description 度度熊有一張紙條和一把剪刀。紙條上依次寫著 n 個數字,數字只可能是 0 或者 1。度度熊想在紙條上剪 k 刀 每一刀只能剪在數字和數字之間 這樣就形成了 k 1 段。他再把這 k 1 段按一定的順序重新拼起來。不同的剪和接的方案,可能會得到不同的結果。度度熊...
百度之星2018初賽A輪
題目描述 題解 簽到題。排個序列舉小的兩條然後二分出第三條就好了。其實排序之後只要看連續的三條就行了。include define n 1005 using namespace std int n,s n ans int main printf d n ans return 0 題解 當時腦子抽了寫...