9 10 集訓周記

2021-08-08 01:16:46 字數 1073 閱讀 5429

寫寫這兩天的比賽吧,週六的一場,先是出了一道c題,題意是在n個城市間旅行,補充以及消耗椰子的問題,問椰子數是否能夠支撐整個旅行。輸入的是城市數、每天消耗的椰子數、每個城市能夠補充的椰子樹以及每兩個城市間所需的天數。比較簡單,**如下:

#include

#include

#include

using namespace std;

int main()

else

} if(ff==1)

cout<

由輸出i而非輸出ti,以及ti的範圍很大,我們可以猜到這個題應該和ti沒有關係,我們只需要找到每個完全平方數出現的位置,然後輸出位置即可。

假設第i個完全平方數出現的位置是a[i],根據已給的測試資料,a[1]=1,a[2]=8,a[3]=49,a[4]=288,打表得到a[5]=1681,a[6]=9800,所以當奇數項時,a[i]是完全平方數,當偶數項時,a[i]是2乘乙個完全平方數,然後找到了佩爾數列,上圖…

然後這道題就解決了…後來很多隊是直接打表打出範圍內的數然後直接放陣列用的…

然後今天的比賽…坐等題解…最後乙個小時在懟1012題,題意是:n個數對,可以任意次數的將第一對放至最後一對的後面,然後在第一行數之和不小於第二行數之和時,求最大的總值。

用了最古老的辦法寫出來,樣例能走過,直覺上一定會tle…所以tle的**如下…

#include

#include

using namespace std;

int n,maxn,kk;

int a[1000005],b[1000005];

int main()

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

int tr,m;

maxn=kk=-1;

for(tr=0;tr

if(i==n+tr)

m=c; }

if(maxn

printf("%d\n",kk); }

return 0; }

所以…等題解出來吧…

第二週集訓總結

這一周下來主要是對上乙個週看的前三章做乙個 的實現,雖然 有模板和例題,但是仍然有幾個演算法沒有完成實現。對於第一章的內容,我關注的重點是二進位制轉化和二分,在這週的最後幾天也有狂刷二分的題 雖然並沒有刷太多道 但是對二分的題目還是不太熟悉。昨天的最後一道題,一開始並沒有想到用二分,但是在別人拿到一...

第二週集訓vjudge總結

1.初始化函式 c c 1 memset是計算機中c c 語言初始化函式。作用是將某一塊記憶體中的內容全部設定為指定的值,這個函式通常為新申請的記憶體做初始化工作。2 函式原型 extern void memset void buffer,int c,int count buffer 為指標或是陣列...

8 1 集訓日記

今天看了有關容斥原理的幾篇部落格。容斥原理的基本思想是 先不考慮重疊的情況,把所有物件的數目求出,然後再把計數時重複計算的數目排斥出去,使得計算的結果既無遺漏又無重複。首先是乙個經典的互素問題 hdoj 4135 co prime 題目大意是 給定a,b,n,求區間 a,b 中與n互素的數的個數。思...