在线制作网站源码,凤岗镇网站仿做,wordpress给导航添加图片,绍兴中交水利水电建设有限公司网站P1912 [NOI2009] 诗人小G
题目描述
小 G 是一个出色的诗人#xff0c;经常作诗自娱自乐。但是#xff0c;他一直被一件事情所困扰#xff0c;那就是诗的排版问题。
一首诗包含了若干个句子#xff0c;对于一些连续的短句#xff0c;可以将它们用空格隔开并放在一行中…P1912 [NOI2009] 诗人小G题目描述小 G 是一个出色的诗人经常作诗自娱自乐。但是他一直被一件事情所困扰那就是诗的排版问题。一首诗包含了若干个句子对于一些连续的短句可以将它们用空格隔开并放在一行中注意一行中可以放的句子数目是没有限制的。小 G 给每首诗定义了一个行标准长度行的长度为一行中符号的总个数他希望排版后每行的长度都和行标准长度相差不远。显然排版时不应改变原有的句子顺序并且小 G 不允许把一个句子分在两行或者更多的行内。在满足上面两个条件的情况下小 G 对于排版中的每行定义了一个不协调度, 为这行的实际长度与行标准长度差值绝对值的PPP次方而一个排版的不协调度为所有行不协调度的总和。小 G 最近又作了几首诗现在请你对这首诗进行排版使得排版后的诗尽量协调即不协调度尽量小并把排版的结果告诉他。输入格式输入文件中的第一行为一个整数TTT表示诗的数量。接下来为TTT首诗这里一首诗即为一组测试数据。每组测试数据中的第一行为三个由空格分隔的正整数N,L,PN,L,PN,L,P其中NNN表示这首诗句子的数目LLL表示这首诗的行标准长度PPP的含义见问题描述。从第二行开始每行为一个句子句子由英文字母、数字、标点符号等符号组成ASCII 码33∼12733 \sim 12733∼127但不包含-。输出格式对于每组测试数据若最小的不协调度不超过101810^{18}1018则第一行为一个数表示不协调度。接下来若干行表示你排版之后的诗。注意在同一行的相邻两个句子之间需要用一个空格分开。如果有多个可行解它们的不协调度都是最小值则输出任意一个解均可。若最小的不协调度超过101810^{18}1018则输出Too hard to arrange。每组测试数据结束后输出--------------------共 20 个--的 ASCII 码为 45请勿输出多余的空行或者空格。输入输出样例 #1输入 #14 4 9 3 brysj, hhrhl. yqqlm, gsycl. 4 9 2 brysj, hhrhl. yqqlm, gsycl. 1 1005 6 poet 1 1004 6 poet输出 #1108 brysj, hhrhl. yqqlm, gsycl. -------------------- 32 brysj, hhrhl. yqqlm, gsycl. -------------------- Too hard to arrange -------------------- 1000000000000000000 poet --------------------说明/提示样例输入输出 1 解释前两组输入数据中每行的实际长度均为666后两组输入数据每行的实际长度均为444。一个排版方案中每行相邻两个句子之间的空格也算在这行的长度中可参见样例中第二组数据。每行末尾没有空格。数据规模与约定::cute-table{tuack}测试点TTTNNNLLLPPP111≤10\le 10≤10≤18\le18≤18≤100\le 100≤100≤5\le5≤5222^≤2×103\le 2\times 10^3≤2×103≤6×104\le 6\times 10^4≤6×104≤10\le10≤10333^^^^444≤5\le 5≤5≤105\le 10^5≤105≤200\le 200≤200^555^^^^666^^≤3×106\le 3\times 10^6≤3×106222777^^^^888^^^≤10\le10≤10999^^^^101010^^^^所有句子的长度不超过303030。思路DP代码见下#includebits/stdc.husingnamespacestd;longlongt,n,l,p,a[100005],b[100005],od0,op0,q[100005],h,g,w[100005];longdoublef[100005],wd1e18;structone{longlongx,y;}c[100005];string s[100005];longdoublepow2(longdoublea1,longlongb1){longdoublec11;for(inti1;ib1;i){c1c1*a1;// if(c1wd){// c1wd*28;// break;// }}returnc1;}longdoubleabc(longlongi,longlongj){returnf[j]pow2(fabs(l-(a[i]-a[j]-1)),p);}longlongrr(longlonga1,longlongb1){longlongla1,rn,mdn1,mid;while(lr){mid(lr)/2;if(abc(mid,a1)abc(mid,b1)){mdmin(md,mid);rmid-1;}else{lmid1;}}returnmd;}intmain(){cint;while(t--){cinnlp;for(inti1;in;i){cins[i];a[i]a[i-1]s[i].size()1;}for(inti1;in;i){f[i]wd7;}b[0]-1;q[1]0;w[1]0;hg1;for(inti1;in;i){while(hg-1w[h]i){h;}f[i]abc(i,q[h]);b[i]q[h];while(hg-1w[g-1]rr(q[g],i)){g--;}w[g]rr(q[g],i);q[g]i;}if(f[n]wd){coutToo hard to arrangeendl;cout--------------------endl;}else{cout(longlong)f[n]endl;// op0;// for(int in;i1;ib[i]){// c[op]{b[i]1,i};// }// for(int i1;iop;i){// for(int jc[i].x;jc[i].y-1;j){// couts[j] ;// }// couts[c[i].y]endl;// }cout--------------------endl;}}return0;}