今天是我們組出題,也做了一下。過了4題,感覺題目難度不大。多想想尤拉路那道題說不定也可以做。還順帶過了不是今天比賽的一道線段樹合併。感覺**能力的確有所提高(算是恢復)。但是離應有的狀態還是差很遠!
今天的幾何題很簡單但是沒有去寫,因為幾何的板子太陌生。其實幾何的東西不多,只要熟悉幾個基本的模型,就比較好做。一定不要期望acm隊裡有人幫你寫幾何題,因此這個假期一定要練好幾何!每天至少1道。先把板子敲熟再應用。做到輕鬆過題。
今天下午和晚上的狀態很差,寫題效率極低,必須反思!堅持到最後一刻!不能放鬆!適當的運動後應該靜下心來寫題!控制住自己!高效的寫題!
今天我出的題(雖然不是原創)感覺還是不錯的。然而沒有人來寫,有點小遺憾!
這兩天的題還有4道沒有調你在幹什麼,明天必須一起全部調完!!!
題解:
a:推結論。然後暴力。挺顯然的,就是思維要放開
b:幾何。圓與矩形求交轉化成把矩形擴充套件(四角變成1/4圓)和圓心運動的直線求交。
今天沒有寫完(打球去了,忘了自己應該做的事!)明天寫
c:簽到題。wa了兩發因為沒有看清楚題意。題目上說的是prime number
d:每個位置有pi概率為1,求區間連續1的長度3次方的期望。單點修改。
把dp貢獻差分,維護1,2,3次,矩陣快速冪維護轉移。利用矩陣的結合律(直接dp無法結合)
經典題
//把f陣列維護成貢獻增加(字首和),矩陣快速冪的時候就不用記ans了,優化一維
//線段樹維護矩陣,動態dp,經典思想。因為矩陣滿足結合律,而直接dp無法統計左邊對右邊的貢獻
#pragma gcc optimize(3)
#include
using
namespace
std;
#define maxn 200020
#define rep(i,l,r) for(register int i = l ; i <= r ; i++)
#define repd(i,r,l) for(register int i = r ; i >= l ; i--)
#define inf 1e8
typedef
long
long ll;
inline
int read()
int num[10];
inline
void write(int x) //一定要特判0!!!
while ( x ) num[++cnt] = x % 10 , x /= 10;
while ( cnt ) putchar(num[cnt--] + '0');
}double a[4][4],b[4][4],tmp[4][4],p[maxn],mtx[maxn][4][4];
int ls[maxn],rs[maxn],tot,root;
int n,m,t;
void clear()
inline
void power(double a[4][4],double b[4][4],double c[4][4])
void update(int x)
void build(int &x,int l,int r)
int mid = (l + r) >> 1;
build(ls[x],l,mid) , build(rs[x],mid + 1,r);
update(x);
}void modify(int x,int l,int r,int id,double cp)
int mid = (l + r) >> 1;
if ( id <= mid ) modify(ls[x],l,mid,id,cp);
else modify(rs[x],mid + 1,r,id,cp);
update(x);
}void query(int x,int l,int r,int l,int r,double a[4][4])
int mid = (l + r) >> 1;
if ( l <= mid ) query(ls[x],l,mid,l,r,a);
if ( r > mid ) query(rs[x],mid + 1,r,l,r,a);
}int main()
else}}
return
0;}
e:一道尤拉迴路的好題。[1,m]的數各出現n次,每次與0交換(開始0在末尾)使[k * m + 1,k *m + m]的區間中[1,m]恰好各出現一次。
對於每乙個區間,如果乙個值多了則向該數連邊,少了則該數向它連邊。對於每個聯通塊找尤拉迴路。因為出入度相等所以一定存在。
輸出方案在尤拉迴路退棧的時候推下細節。非常好寫。但是因為看錯資料範圍調了很久!很不應該!
求尤拉迴路要邊要dfs完後加入棧,保證邊的順序
//看清資料範圍再寫題!!!
#include
using
namespace
std;
#define maxn 820
#define n 200020
#define rep(i,l,r) for(register int i = l ; i <= r ; i++)
#define repd(i,r,l) for(register int i = r ; i >= l ; i--)
#define inf 1e8
struct nodee[n];
struct node2;
int head[maxn],cnt;
int n,m,t,stack_[n],tops,tag[n];
int a[maxn][maxn],num[maxn][maxn],tmp,vis[maxn];
vector
vec[maxn][maxn];
vector
ans;
void clear()
inline
void adde(int x,int y)
void dfs(int x)
}int main()
}rep(i,m + 1,n + m));
for(int j = 1 ; j <= tops ;j++)
ans.push_back((node2));
last = cur;}}
}printf("%d\n",ans.size());
for (int i = 0 ; i < ans.size() ; i++)
clear();
}return
0;}
f:求最少刪多少個數是最長上公升子串行變短。
按f[i](dp值)分層建圖。最小割。
好久沒寫網路流的題。考場上現場yy出來的。
但是應該加強網路流的練習,別把強項丟了
g:我自己的題。見我的出題日誌。
1。早點睡,保證考試時精力充沛!
2。一定要複習,有10多天沒有複習以前的題了
3。堅持到最後一刻,一直到開學都不能有一點鬆懈。把自己的弱項靜心補起來,相信自己oi的實力!
4。明天打好翻盤仗!靜下心來思考!爭取過5題!進入前5名!
2018 7 23日記 總結
今天過了4題,發揮得一般。但是仍然不夠好。特別是c題一眼秒了,差10多分鐘寫完,這樣的遺憾還是不應該。簽到題,卡了很久,本來很簡單的bfs,利用抽屜原理,想著分治fft。這很不應該。一定要分析題目最簡單,直接的性質,不要想複雜了。還有a題本來是乙個很簡單的容斥,推了很久沒有推清楚,思路不夠清晰!今天...
2018 8 14日記 總結
今天我的發揮不好 首先e題沒有即時發現自己的錯誤,思維不活躍,浪費了1h 運氣特別好寫a 其實有錯 但是過了 抄i題lct的板不夠快 想細節也不夠快 應該先問k題題意 然後早點想 過的人很多的題一定要分享個隊友 早點想 最後想出k題後不冷靜,太慌張。考場上沒有模稜兩可,只有過於不過的區別。一定要強迫...
2009 3 16日記 目標
三個目標的重新考慮 1.把品類戰略,中國企業如何創品牌?這本書熟讀於心,能夠達到背詠程度。2.要鍛鍊好身體準備參加勝軟冬季越野賽,能夠拿個較好名次,沒有參加過暫且定位10名之內。3.說話清楚。按照目標必須符合下面6點進行三個目標的細化 1 有目標 1.把品類戰略,中國企業如何創品牌?這本書熟讀於心,...