国庆 day 3 上午
Posted 一蓑烟雨任生平
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了国庆 day 3 上午相关的知识,希望对你有一定的参考价值。
a
【问题描述】
你是能看到第一题的 friends 呢。
——hja
怎么快速记单词呢?也许把单词分类再记单词是个不错的选择。何大爷给
出了一种分单词的方法,何大爷认为两个单词是同一类的当这两个单词的各个
字母的个数是一样的,如 dog 和 god。现在何大爷给了你?个单词,问这里总共
有多少类单词。
【输入格式】
第一行一个整数n代表单词的个数。
接下来n行每行一个单词。
【输出格式】
一行一个整数代表答案。
【样例输入】
3
AABAC
CBAAA
AAABB
【样例输出】
2
【数据范围与规定】
70%的数据,1 ≤ ? ≤ 100。
对于100%的数据,1 ≤ ? ≤ 10000,所有单词由大写字母组成。
P99 zhxb
思路:很简单,sort一下,set记录就好。
#include<set> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n; string s; set<string>s1; using namespace std; int main(){ freopen("a.in","r",stdin); freopen("a.out","w",stdout); cin>>n; for(int i=1;i<=n;i++){ cin>>s; sort(s.begin(),s.end()); s1.insert(s); } cout<<s1.size(); }
b
【问题描述】
你是能看到第二题的 friends 呢。
——laekov
长度为?的铁丝,你可以将其分成若干段,并把每段都折成一个三角形。你
还需要保证三角形的边长都是正整数并且三角形两两相似,问有多少种不同的
分法。
【输入格式】
一行一个整数n。
【输出格式】
一行一个整数代表答案对10 9 + 7取模之后的值。
【样例输入 1
6
【样例输出 1】
2
【样例输入 2】
9
【样例输出 2】
6
【样例解释 2】
(1,1,1),(2,2,2);(2,2,2),(1,1,1)算两种方案。
【数据范围与规定】
对于30%的数据,1≤n≤100。
对于60%的数据,1 ≤n≤ 1000。
对于100%的数据,1 ≤ n≤ 10^6 。
P99 zhxc
思路:打表+
以下解题思路转自xxy大佬的博客
设分成的每段长为Li,g=gcd(Li)
那么一共有n/g 个单位
设f[g]表示以g为周长,且三边gcd为1 的三角形的个数
设h[n/g]表示把n/g个单位 分配给任意多个三角形的个数
那么 ans=Σ f[g]*h[n/g] (g|n)
求f[g]:
设g=a+b+c,且a<=b<=c
对b和c的大小分两种情况讨论:
① b==c :
==> g=a+2b,那么b∈[ceil(g/3),floor((g-1)/2)]
所以f[g]=floor((g-1)/2)- ceil(g/3) +1
② b<c :
a,b,c 的每一种方案都可以看做由 a,b,c-1的每一种方案转移过来
但有一种除外:a+b=c,因为此时a,b,c-1 合法,a,b,c 不合法
当g为偶数时,a+b+a+b=g,g=2*(a+b),所以有floor(g/4)个
所以f[g]=f[g-1]+ (b&1)? 0 : -g/4
然后因为要求三边长互质,所以枚举g的每个因数k,f[g]-=f[k]
求h[i]:
把i个物品分成任意份的方案数=C(i-1,0)+C(i-1,1)+……+C(i-1,i-1)
= 2^(i-1)
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define MAXN 1000010 #define mod 1000000007 using namespace std; int n,ans; int f[MAXN],dp[MAXN],more[MAXN]; void pre(){ f[1]=0;f[2]=0;f[3]=1;f[4]=0;f[5]=1;f[6]=2;f[7]=2;f[8]=1;f[9]=6;f[10]=3; f[11]=4;f[12]=10;f[13]=5;f[14]=6;f[15]=25;f[16]=6;f[17]=8;f[18]=40;f[19]=10;f[20]=16; f[21]=81;f[22]=14;f[23]=14;f[24]=144;f[25]=31;f[26]=19;f[27]=280;f[28]=32;f[29]=21;f[30]=569; f[31]=24;f[32]=32;f[33]=1062;f[34]=32;f[35]=123;f[36]=2098;f[37]=33;f[38]=40;f[39]=4147;f[40]=188; f[41]=40;f[42]=8305;f[43]=44;f[44]=74;f[45]=16731;f[46]=58;f[47]=52;f[48]=32880;f[49]=182;f[50]=593; f[51]=65620;f[52]=100;f[53]=65;f[54]=131222;f[55]=1153;f[56]=408;f[57]=262248;f[58]=91;f[59]=80;f[60]=526534; f[61]=85;f[62]=104;f[63]=1049329;f[64]=256;f[65]=4266;f[66]=2097406;f[67]=102;f[68]=168;f[69]=4194453;f[70]=9435; f[71]=114;f[72]=8389356;f[73]=120;f[74]=147;f[75]=16793845;f[76]=210;f[77]=2431;f[78]=33554771;f[79]=140;f[80]=33664; f[81]=67109568;f[82]=180;f[83]=154;f[84]=134222278;f[85]=65816;f[86]=198;f[87]=268435687;f[88]=1764;f[89]=176;f[90]=537003715; f[91]=8689;f[92]=304;f[93]=73742080;f[94]=236;f[95]=262493;f[96]=147486386;f[97]=208;f[98]=16762;f[99]=294970616;f[100]=525236; f[101]=225;f[102]=589935100;f[103]=234;f[104]=5060;f[105]=180951179;f[106]=299;f[107]=252;f[108]=359743304;f[109]=261;f[110]=2100625; f[111]=719476629;f[112]=74624;f[113]=280;f[114]=438953217;f[115]=4194803;f[116]=476;f[117]=877914883;f[118]=370;f[119]=131884;f[120]=764219541; f[121]=4412;f[122]=395;f[123]=511620533;f[124]=544;f[125]=16777781;f[126]=23520200;f[127]=352;f[128]=33792;f[129]=46480812;f[130]=33561658; f[131]=374;f[132]=92971720;f[133]=525301;f[134]=476;f[135]=253064929;f[136]=67120;f[137]=408;f[138]=371843557;f[139]=420;f[140]=135276738; f[141]=743685675;f[142]=534;f[143]=21939;f[144]=487573369;f[145]=268436226;f[146]=564;f[147]=976838685;f[148]=768;f[149]=481;f[150]=486371819; f[151]=494;f[152]=264124;f[153]=899095103;f[154]=4230111;f[155]=73742696;f[156]=797942289;f[157]=533;f[158]=660;f[159]=595846044;f[160]=148044530; f[161]=8390048;f[162]=191955045;f[163]=574;f[164]=940;f[165]=678420224;f[166]=728;f[167]=602;f[168]=784611668;f[169]=21091;f[170]=590005152; f[171]=534052443;f[172]=1034;f[173]=645;f[174]=67051138;f[175]=213425504;f[176]=2234048;f[177]=134100040;f[178]=836;f[179]=690;f[180]=629164408; f[181]=705;f[182]=67159441;f[183]=536397479;f[184]=4197128;f[185]=719477490;f[186]=72794800;f[187]=271076;f[188]=1232;f[189]=281905179;f[190]=439221006; f[191]=784;f[192]=299637156;f[193]=800;f[194]=992;f[195]=460352967;f[196]=268453912;f[197]=833;f[198]=169414077;f[199]=850;f[200]=773118105; f[201]=329377190;f[202]=1075;f[203]=536873117;f[204]=658901564;f[205]=511621583;f[206]=1118;f[207]=325897438;f[208]=33737152;f[209]=1059738;f[210]=733120196; f[211]=954;f[212]=1560;f[213]=270017566;f[214]=1206;f[215]=46481967;f[216]=624195158;f[217]=147486152;f[218]=1251;f[219]=80066391;f[220]=97166226; f[221]=361480;f[222]=160132539;f[223]=1064;f[224]=429287396;f[225]=539823443;f[226]=1344;f[227]=1102;f[228]=641067392;f[229]=1121;f[230]=376045827; f[231]=875181021;f[232]=268439796;f[233]=1160;f[234]=629865643;f[235]=743687047;f[236]=1930;f[237]=124161904;f[238]=180068149;f[239]=1220;f[240]=282249196; f[241]=1240;f[242]=8396278;f[243]=630864590;f[244]=2060;f[245]=334482250;f[246]=993285370;f[247]=1352967;f[248]=73746777;f[249]=986566337;f[250]=966267700; f[251]=1344;f[252]=963458550;f[253]=16792899;f[254]=1696;f[255]=845680875;f[256]=147618802;f[257]=1408;f[258]=892519773;f[259]=438956020;f[260]=834130603; f[261]=321910893;f[262]=1804;f[263]=1474;f[264]=902808123;f[265]=595847773;f[266]=878514327;f[267]=140132997;f[268]=2482;f[269]=1541;f[270]=613538991; f[271]=1564;f[272]=590463176;f[273]=321617640;f[274]=1972;f[275]=450507987;f[276]=129468687;f[277]=1633;f[278]=2030;f[279]=389587111;f[280]=593581177; f[281]=1680;f[282]=484194447;f[283]=1704;f[284]=2784;f[285]=503383384;f[286]=144739395;f[287]=23244429;f[288]=608926200;f[289]=526056;f[290]=335498669; f[291]=873525635;f[292]=2940;f[293]=1825;f[294]=795703352;f[295]=134102175;f[296]=719483184;f[297]=352487218;f[298]=2331;f[299]=21030745;f[300]=829570449; f[301]=92965331;f[302]=2394;f[303]=976373910;f[304]=440334209;f[305]=536399754;f[306]=133930833;f[307]=2002;f[308]=727053010;f[309]=905487848;f[310]=146550417; f[311]=2054;f[312]=797987002;f[313]=2080;f[314]=2587;f[315]=504510638;f[316]=3440;f[317]=2133;f[318]=243886012;f[319]=73765456;f[320]=196774796; f[321]=487764748;f[322]=752192960;f[323]=2754708;f[324]=829784319;f[325]=666295098;f[326]=2788;f[327]=951050268;f[328]=511628523;f[329]=487375739;f[330]=519846041; f[331]=2324;f[332]=3794;f[333]=243152828;f[334]=2926;f[335]=329379927;f[336]=896160545;f[337]=2408;f[338]=167812001;f[339]=216758643;f[340]=253287221; f[341]=294994281;f[342]=313785635;f[343]=949486563;f[344]=46489602;f[345]=205731144;f[346]=3139;f[347]=2552;f[348]=270962932;f[349]=2581;f[350]=747536014; f[351]=559517020;f[352]=691504452;f[353]=2640;f[354]=936178016;f[355]=270020632;f[356]=4356;f[357]=679251333;f[358]=3360;f[359]=2730;f[360]=460748045; f[361]=2624190;f[362]=3435;f[363]=669268872;f[364]=334172790;f[365]=80069625;f[366]=978753869;f[367]=2852;f[368]=389086576;f[369]=980748370;f[370]=879627900; f[371]=191697606;f[372]=62528248;f[373]=2945;f[374]=376928566;f[375]=234374381;f[376]=743696112;f[377]=342266271;f[378]=229553181;f[379]=3040;f[380]=86304704; f[381]=319912198;f[382]=3824;f[383]=3104;f[384]=456014180;f[385]=767315472;f[386]=3904;f[387]=372608253;f[388]=5168;f[389]=3201;f[390]=851593334; f[391]=34475148;f[392]=776813524;f[393]=118533489;f[394]=4067;f[395]=124165684;f[396]=461120268;f[397]=3333;f[398]=4150;f[399]=554019519;f[400]=24380486; f[401]=3400;f[402]=948240916;f[403]=368810794;f[404]=5600;f[405]=100772050;f[406]=671149427;f[407]=877942283;f[408]=939442208;f[409]=3536;f[410]=504928656; f[411]=585867209;f[412]=5824;f[413]=268206895;f[414]=934037804;f[415]=986570502;f[416]=669929746;f[417]=343454580;f[418]=778379431;f[419]=3710;f[420]=335610456; f[421]=3745;f[422]=4664;f[423]=861186921;f[424]=595859187;f[425]=81465024;f[426]=747606243;f[427]=72802206;f[428]=6282;f[429]=481777696;f[430]=939025622; f[431]=3924;f[432]=179917090;f[433]=3960;f[434]=293274650;f[435]=108338739;f[436]=6516;f[437]=45617065;f[438]=961563981;f[439]=4070;f[440]=85432001; f[441]=173222533;f[442]=218768539;f[443]=4144;f[444]=285247559;f[445]=140137771;f[446]=5208;f[447]=692440708;f[448]=181485242;f[449]=4256;f[450]=503663955; f[451]=46525528;f[452]=7000;f[453]=769745987;f[454]=5396;f[455]=624680383;f[456]=36952570;f[457]=4408;f[458]=5491;f[459]=414821823;f[460]=525420403; f[461]=4485;f[462]=195576137;f[463]=qbxt济南国庆刷题班游记