思想遲到了(裝機呢),盡快趕上
今天培訓最先開始講了個模擬
本以為不用聽,然而老師講了下一些不得不聽的東西
講了一些**習慣的養成
比如說碼風
模擬考的是細心,是將人類語言轉為的電腦語言的能力
而且模擬考的題一般**都非常長
所以一邊寫對**非常重要
這個對我真的太真實了
如果只向luogu無限除錯一般在比賽拿不到分
所以力求一遍對
這種模擬題更強調的就是選手的**能力
其特點就是:題目特煩,細節超多,**極長
考驗的全部都是選手寫**的基本功
1、寫長**不出錯的能力;2、多方面周全地考慮問題的能力;
前者要求我們有乙個良好的**習慣,而後者則要求我們在做題時頭腦有清晰的邏輯
總之,模擬不需要資料結構這種基礎中中高難的東西
但是考察做題人的**能力,讀題和優化
如何將已知步驟讓電腦讀懂別除錯完一片開門紅
資料分治(也是模擬中講的一部分)
這是很實用的東西,
考慮下前面資料\(n\leq10\)的時候進行特判
再大一點進行搜尋,
最後試一試自己沒怎麼有信心的正解
當然除非你遇到一道資料範圍極小的題或者能夠直接寫出正解的題
再次扯下原理
區域性最優推知全域性最優,就是每一步只走當前最優,
然後就能正解,前提是無後效性,就是下一步優不優要看自己,不看上面幾步
具體思路?
大膽猜想,無需證明
突然想起旁邊坐著乙個貪心dalaolz
而且貪心一般帶著其他演算法標籤,比如數學或者模擬
例題:
老題了,線段覆蓋
思路就是按後端點排序,然後按前端點遍歷,能放就放,不考慮前端點是否有序,可以保證解最優
因為排序時可以保證後端點從小到大,這裡不考慮前端點的原因如下圖:
易知圖中選擇ef線段等價於選cd線段,因為都可以選且對於後面線段影響一致
於是我們巧妙地利用後端點的順序間接考慮上了線段長度(兩個後端點離得近,其中間的線段一定短)
另外一道題是偽藍書(一本通提高)的例題,就是這張圖:
思路就是把圓與矩形的交點(前後兩個)視作是線段,然後進行線段覆蓋
就完事了
上面的題沒有貼**,這題貼乙個:
#include#include#include#includeusing namespace std;
int read()
while(ch>='0'&&ch<='9')
return a*x;
}int t,n,l,w;
int pos,r,ans,cnt;
struct water
a[15001];
int cmp(water x,water y)
ed[1005];
inline double dis(const int &y)
inline bool cmp(const node &a,const node &b)double len=dis(y);
ed[i].l=x-len;
ed[i].r=x+len;
} sort(ed+1,ed+1+n,cmp);
int ans=0;
for(int i=1;i<=n;i++)
if(!vis[i])
printf("%d",ans);
return 0;
}
打怪題:
排排序(殺完能回血的順序按照消耗排序,不然按照回血降序,使扣血越來越多),回回血(先打目前實力能夠打的並且回血的(回血指的是扣血\(\leq\) 回血)),扣扣血(再打能打但不能回血的),完成
注意這題需要倒序看,以保證不死
這麼說的話可以dfs啊(滑稽
清北學堂數學筆記整理1
1 兩個整數a b,若它們除以整數m所得的餘數相等,則稱a與b對於模m同餘或a同余於b模m。記作 a b mod m 2 正數模正數為正數。正數模負數為正數。負數模正數為負數。負數模負數為負數。long 3 快速冪 long long mod long long qpow long long a,l...
清北學堂 2017 10 01
problem 1.alien input file alien.in output file alien.out time limit 1s memory limit 128m 小y 最近正在接受來自x3 星球的外星人的採訪。在那個星球上,每個人的名字都是乙個正整數。所有在這個星球上的居民都是相互...
清北學堂 2017 10 06
因為是剛聽完課所以想把思路記下來,有一些其實也是一知半解的,如果有dalao可以幫忙講解那真是再感謝不過了。還有為什麼我畫圖這麼醜,哇的一下哭出聲 problem a.最佳進製 如今我們最常用的是十進位制,據說這是因為人有十根手指。但事實上這並不是十分方便,10 只有四個因子 1 2 5 10,像 ...