2017 CCPC 哈爾濱站 銀牌題彙總

2021-09-27 08:37:00 字數 1842 閱讀 5139

a - palindrome

hdu - 6230

題目大意:乙個字串找出有多少 「 乙個半回文串 」 

乙個半回文串的定義為,兩個回文串恰好a的右邊界是b的回文中心,而b的左邊界恰好是a的回文中心。

題目思路:有兩種做法,主席樹和樹狀陣列,主席樹慢些但是題目並不想卡主席樹。

分析題目可以知道,只要求出有多少對回文串相互包含對方的回文中心就可以了。

主席樹的做法比較裸,先跑一邊馬拉車,對於每乙個回文中心,查詢他到他的右端點這個區間有多少個回文中心的左端點在當前回文中心的左邊就可以了。

#include#define ll long long

using namespace std;

const ll maxn = 5e5+5;

int b[maxn],a[maxn];

char s[maxn],ma[maxn*2];

int mp[maxn*2];

void manacher(char s,int len) /// manacher

}}ll sum[maxn*30];

int l[maxn*30],r[maxn*30],t[maxn];

int cnt=0;

int build(int l,int r) ///初始化主席樹

ll ask(int x)

void manacher(char s,int len) /// manacher

}}ll sum[maxn*30];

int l[maxn*30],r[maxn*30],t[maxn];

int cnt=0;

vectorv[maxn];

int main()

for(int i=1;i<2*len+2;i++)

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

sum += l-1;

r++;

}if(sum >= m)return 1;

else return 0;

}int main()

sort(b+1,b+1+n);

ll l = 1,r = n,ans;

while(l<=r)

else r = mid-1;

}printf("%lld\n",b[ans]);

}}//

hdu - 624

題目大意:n個點,求乙個圓心和半徑滿足,至少有一半的點在圓上。

題目思路:

由於題目保證存在這樣的點了,那麼三個點可以確定乙個圓,只要每次從所給點中取出三個點判斷是否滿足題意就可以了,每次取成功的概率大概是1 / 8,期望是8次可以成功,但是也有臉黑的情況,不過臉再黑,100次總要出來的。

#include#define ll long long

using namespace std;

const int maxn = 1e5+5;

const double eps = 1e-6;

int n;

struct point

point(double a,double b)

}a[maxn];

double dis(point a,point b)

point getcir(point a,point b,point c)

bool check(point x,double dist)

int main()

if(n==1)

else if(n<=4)

else}}

printf("%.10lf %.10lf %.10lf\n",ans.x,ans.y,r);}}

}

2017CCPC哈爾濱滾粗記

滾粗記 d1 報道,哈理工好啊,各種好啊,機房大啊,比學校好多了。那個資訊樓可能比我校教學樓疊起來還高 d2 熱身賽 懟了一下午的t1 結果出來聽人家說這題乙個sort就解決了,我特麼就覺得我是個智障,再看t3,ant,原題 心態炸,整個人渾渾噩噩,已為明天的滾粗做好了準備 不過食堂的飯還行 d3 ...

2017 ccpc秦皇島站總結

第一次參加區域賽,內心還是有點小激動的。去到的第一天霧霾有點大,但是第二天霧霾就被吹走了,空氣還是很不錯的。第一天,因為知道學校靠海,就和隊友和東慶隊伍,去了一趟海邊看看海,也是挺不錯的體驗。還有就是,午飯不是固定的快餐之類的,是自己選擇的,而且資金很充足,這點非常棒,還有很多看起來很好吃的,唯一可...

2017ccpc賽後總結 杭州站

回顧與反思 2017 11 3,下午我們滿懷期待的前往目的地,到達酒店後做好準備,適當放鬆。2017 11 4,下午14 00熱身賽開始,作為學生教練的我雖然沒有參與比賽,但是也是很激動的想早點拿到題目手冊,比賽開始20分鐘後,我也如願拿到了題目,我看了第一題,題目很好理解,但是如何才能高效的解決讓...