20170906校內模擬賽

2022-09-18 09:01:01 字數 2525 閱讀 4286

所有題目開啟-o2,評測機效率為4億左右;

小r意外獲得了一塊切糕,他準備把切糕分給n個小夥伴。切糕的形狀是乙個底邊長為a,高為b的等腰三角形。小r打算橫著或豎著切n-1刀把切糕切成面積相等的n塊分給小夥伴,請你告訴他要在哪些地方切。

輸入檔案 cut.in

輸入包含四個整數 n,a,b,c, 表示要切成 n 塊, 切糕的三個頂點分別位於(0,0),(a,0),(a/2,b), 若 c=0, 表示要橫著切; 若 c=1, 表示要豎著切。

輸出檔案cut.out

輸出共n-1行,每行乙個實數,從小到大輸出各切割處的位置,若c=0,每輸出乙個整數a,表示在直線y=a處切一刀;若c=1,每輸出乙個整數a,表示在直線x=a處切一刀。當你的輸出與標準輸出的絕對誤差不超過1e-6時,判為正確。

3 5 2 0

0.3670068381

0.8452994616

2 5 3 1

2.5

對於全部資料,\(2<=n<=1000,1<=a,b<=10^\);

對於50%的資料,c=0;

對於另外50%的資料,c=1。

相似三角形即可解決。

#include #include #define mn 1005

#define eps 1e-10

#define ld long double

#define r register

#define filename "cut"

inline int read()

int n,a,b,c; double aa,bb,ans[mn];

int main()

}else

} }else for (r int i=1; i小r有乙個愛好,他經常去雜貨市場上採購一些奇奇怪怪的物品。今天小r來到市場,發現有n個攤位,每個攤位**不同的貨物,第i個攤位**的貨物**為ai。這些攤位的老闆很奇怪,他們不喜歡你購買其他攤位的物品,如果你購買了k件其他攤位的物品,你在購買第i個攤位**的物品時需要額外支付k*bi的錢,為了防止你買完乙個攤位的物品後再去買另一家的物品,他們商量好要求你同時結賬,現在小r有m元錢,他想知道自己最多能買多少種不同的物品。

輸入檔案buy.in

第一行兩個正整數n和m,表示攤位數和小r的錢數。

接下來n行,每行兩個非負整數ai,bi,意義同問題描述。

輸出檔案buy.out

輸出乙個非負整數,表示答案。

3 7

1 32 1

3 0

對於20%的資料,n<=20;

對於40%的資料,n<=1000;

對於另外10%的資料,bi=0;

對於另外20%的資料,所有bi均相等;

對於100%的資料,\(n,ai,bi<=100,000,m<=10^\)。

二分答案,轉為判斷性問題,然後sort一下暴力計算即可,時間效率\(o(n \log^_ n)\)

#include #include #define mn 100005

#define ll long long

#define r register

#define filename "buy"

inline int read()

int n,m,a[mn],b[mn],rk[mn],k;

inline bool cmp(int x,int y)

inline bool check(int ans)return 1;

}int main()\)。

字首和一下,然後跑個prim就行了,時間效率\(o(n^)\).

#include #define mn 10005

#define r register

#define min(a,b) ((a)<(b)?(a):(b))

#define filename "power"

inline int read()

int num[mn],f[mn],n;bool u[mn];long long ans;

int main()printf("%lld",ans);

#ifndef debug

fclose(stdin); fclose(stdout);

#endif

return 0;

}

2017 09 06校內訓練

t1 切糕 題解 根據相似三角形的性質,我們可以推出 橫切 列舉每乙份,答案為 b b i n 1 i n 1 豎切分兩類 一類是切成偶數塊,這樣中間要切一刀,左邊的答案為 a 2 i n 2 右邊答案為a 左邊的答案 另一類切成奇數塊 中間不需要切,左右答案與前面一樣。1 include2 inc...

2018 10 12 校內模擬賽

分析 題一 一道模擬題 但模擬也是有很多坑的 寫出一道題後,一定要自己試很多很多很多組不同的資料 比如這道題,幾乎我試的每一組資料都找出了我程式的bug,好險 分析 題二 好題!應該是和松鼠聚會這道題本質一樣的 首先我們需要推導出任意兩個點 x,y a,b 之間能夠到達彼此所需要走的最短步數,由於可...

1105 校內模擬賽

題一 差分約束or帶權並查集?不啊,zz了,簡單模擬即可 我簡直服了我自己了,想複雜了 直接對每乙個聯通塊隨便找乙個點賦位置,然後dfs繼續找下去,給每乙個點賦值,如果在搜尋的過程中,發現了有衝突,就是impossible了 注意加邊的時候加雙向邊,因為你是從隨便乙個點開始搜尋的 然後這麼簡單的乙個...