day1
由於蒟蒻一輪省選**ce,二輪上了考場之後並不是很慌,先看了看第一道題,感覺很可做,然後幾乎整場比賽就栽在第一道題上了.... 第一眼的思路就是現將整個座標系按照給定直線導軌的角度翻轉,然後將擋板(線段)對映到導軌上,然後處理一下導軌之間的遮擋情況,注意到最後選取的區間左右端點一定有乙個會卡在擋板的端點上,所以可以o(n)統計答案。
感覺很難碼,然後就趕緊開始碼。。。
誒 , 座標翻轉公式是啥嘞? 我去推一推。。。 乙個小時過去了。。。
誒 , 怎麼我只會n方預處理遮擋情況呢? 哇, 只有40分了。。
心態**。。。
大概碼了三個小時調過大樣例,然後自信看第二題了。
woc!怎麼t2我連暴力都不會!! 考完知道這是wc講的圓方樹,後悔沒去。還是因為我姿勢水平太低了唉....
t3唐題沒什麼思路。。。。
考完期望得分40 實際0 唉我**炒雞弱啊 真的是很氣 後來發包之後發現我沒有處理兩個線段端點相同情況,加了個=號就40了
然後賽後在zyb dalao 指導下知道了可以用掃瞄線這種東西,然後賽後寫出來100了。。
總結:不要太相信大樣例,太坑了!!!!!!!
day2
day1成功爆零心態有點**,不過至少知道了不能信大樣例,唉。
第一題?30分樹上莫隊?可惜我不會啊啊啊啊!
試了試資料生成器?資料隨機?
發現資料生成的樹由一條長鏈構成其餘隨機,那麼可以在長鏈上主席樹,其餘暴力。。。
由於day1 教訓我查了好久t1。。
然後整場比賽都在想t1啊。。。
期望得分30 實際。。30 至少沒有把暴力打掛很感動了。。
總結:其實這場比賽最簡單的題是t3 以後比賽前要通讀題目啊
附t1**
#include#include#include#include#include#include#define double long double
using namespace std;
const double eps = 1e-13;
const double pi= acos(-1);
double curx;
struct nodelin[1000010] , model;
struct straightlne;
struct node2nw1[1000010],nw2[1000010];
int t,n;
double l;
struct point
pt1[100100],pt2[100010];
struct line1
}le1[1000010],le2[1000010];
void get(node x)
bool cmp(node2 p,node2 q)
while((ed2[ul].xxeps)
if(ret>ans) ans=ret;
} else
tmp=min(rt,ed2[ul].xx)-max(left,ed2[ul].x);
if(tmp>eps)
if(ret>ans) ans=ret;
} }ul=ur=ll=rr=0;
for(register int i=1;i<=cnt1;++i)
while((ed2[ul].xxeps)
if(ret>ans) ans=ret;
} else
tmp=min(rt,ed2[ul].xx)-max(left,ed2[ul].x);
if(tmp>eps)
if(ret>ans) ans=ret;
} }ul=ur=ll=rr=0;
for(register int i=1;i<=cnt2;++i)
while((ed1[ul].xxeps)
if(ret>ans) ans=ret;
} else
tmp=min(rt,ed1[ul].xx)-max(left,ed1[ul].x);
if(tmp>eps)
if(ret>ans) ans=ret;
} }ul=ur=ll=rr=0;
for(register int i=1;i<=cnt2;++i)
while((ed1[ul].xxeps)
if(ret>ans) ans=ret;
} else
tmp=min(rt,ed1[ul].xx)-max(left,ed1[ul].x);
if(tmp>eps)
if(ret>ans) ans=ret;
} // cout<>t;
while(t--)
int x,y,xx,yy,ll;
x=read();y=read();xx=read();yy=read();ll=read();
model.x=x,model.y=y,model.xx=xx,model.yy=yy;l=ll;
get(model);
double degree;
if(fabs(lne.a)>eps)
degree=atan(lne.a);
if(lne.a==0)
if(lne.b==0)
int cnt1=0,cnt2=0;
for(register int i=1;i<=n;++i)
if(op==1)
}int tot1=0,tot2=0;
for(register int i=1;i<=cnt1;++i)
for(register int i=1;i<=cnt2;++i)
sort(pt1+1,pt1+tot1+1,cmpp);
sort(pt2+1,pt2+tot2+1,cmpp);
curx=pt1[1].x;
cnt1=0;
st.insert(le1[pt1[1].belong]);
for(register int i=2;i<=tot1;++i)
curx=pt1[i].x;st.insert(le1[tmp]);
}if(pt1[i].id==-1)
curx=pt1[i].x;
st.erase(le1[tmp]);
}} curx=pt2[1].x;
cnt2=0;
st.insert(le2[pt2[1].belong]);
for(register int i=2;i<=tot2;++i)
;curx=pt2[i].x;st.insert(le2[tmp]);};
if(pt2[i].id==-1)
curx=pt2[i].x;
st.erase(le2[tmp]);
}} sort(ed1+1,ed1+cnt1+1,cmppp);
sort(ed2+1,ed2+cnt2+1,cmppp);
work(cnt1,cnt2);
printf("%.15lf\n",ans);
} return 0;
}
2023年自我總結
由於18年逐漸走上了管理層面 雖然只是個小經理 感覺和平時寫寫 有一些本質上的區別 ps 在此我要感謝我的領導 技術大咖,研發團隊的支柱人物 給我時間成長,做最終的把控。1 以前是別人安排事情,不需要考慮太多,只需要把自己的這塊需求理解清楚然後開發即可 接觸的 和資料庫方面比較多,可以經常充實自己的...
xss總結 2018自我整理
0x00前言 因為ctf中xss的題目偏少 因為需要機械人在後台點選手的連線2333 所有寫的比較少 這裡推薦個環境 0x01xss作用 常見的輸出函式 print print r echo printf sprintf die var dump var export xss是往頁面中新增了一段 並...
2018寒假訓練新生輪R2
a magic wall 題意 給乙個n m的矩陣,1不用管,其他數都是0到9,告訴你每個數從i變成j花費多少,問把非1的數全換成1最小花費多少。在花費矩陣上暴力跑floyd,然後加起來。include include include include using namespace std cons...