CodeForcesDiv2第111专场C题
摘要:
此题题意是给你n个数以及一个k,两两总共有n2种组合,(p1,q1)<(p2,q2)当p1<p1或者p1=p2,q1<q2两种情况时,如果把所有组合都列出来求出第k个组合,那么肯定超时。所以另觅他径,把n的数排序,考虑相等的情况,比如1 1 1 2 2 5,i = 1,j = 4时,a[i]!=a[j]此时判断k是否在(i-1)*n和(j-1)*n之间,如果不在,则i=j,否则p1=a[i],p2=a[(k-(i-1)*n)/(j-i)+1],此处3个1有9种组合。注意(i-1)*n,(j-1)*n的值会超出int范围,有2中做法解决:1.把表达式中的n强制转换成(__int 阅读全文
posted @ 2012-03-07 16:14 Kahuna 阅读(223) 评论(0) 推荐(0) 编辑