ACM-ICPC 2018 南京赛区网络预赛 A B E G I J L 更新ing

版权声明:布呗之路的守望者 https://blog.csdn.net/hypHuangYanPing/article/details/82314554
/**
A.An Olympian Math Problem
链接:https://nanti.jisuanke.com/t/30990
签到题 打表规律输出n-1即可;
*/
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main (){
    int t;cin>>t;
    while(t--){
        ll n;cin>>n;
        cout<<n-1<<endl;
    }
    return 0;
}
/**
B. The writing on the wall
链接:https://nanti.jisuanke.com/t/30991
题意:给出n*m矩阵,中间有些是黑色,问里面存在多少个没有黑色矩阵的子矩阵;
分析:对于一个长为L, 高为H的无黑点矩阵中包含的高为H的子矩阵个数为L+(L-1)+(L-2)+...+1个;

这是直接算的一种方法;如何程序表示该计算呢?其中h是固定值
for(int i=1; i<=L; i++){
    for(int j=i; j>0; j--){
        cnt+=h;
    }
}
这样的一个双层循环就表示了上式;那么所有子矩阵个数就是三层循环,高由1->H:
for(int h=1; h<=H; h++){
    for(int i=1; i<=L; i++){
        for(int j=i; j>0; j--){
            cnt+=h;
        }
    }
}
这是其中没有黑点的;如果在某处加了个黑点又如何计算呢?
我们固定一个右下得点让他往上往左看,如果当前小是不是再往右就更小了呢?
for(int i=1; i<=H; i++){
    for(int j=1; j<=L; j++){
        h=i;
        for(int k=j; k>0; k--){
            h=min(h, i-p[k]);
            cnt+=h;
        }
    }
}
p[k]表示第k列中在i行上边的第一个黑点的位置,
那么我们现在用n代替H,m代替L这样就是一个复杂度为O(n*m*m)得算法;
看题后我们应该吧100当作m另一个当作n这样就时间刚好,我们用标记黑点得位置去维护h即可
*/

#include<bits/stdc++.h>
#define ll long long
using namespace std;
 
int a[100010][110],up[110];
 
int main(){
    int T,cas=1;
    scanf("%d",&T);
    int n,m,k,x,y;
    ll minn;
    while(T--){
        scanf("%d%d%d",&n,&m,&k);
        memset(a,0,sizeof a);
        memset(up,0,sizeof up);
        for(int i=0;i<k;i++){
            scanf("%d%d",&x,&y);
            a[x][y]=1;
        }
        ll ans=0;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++)
                if(a[i][j])up[j]=i;
            for(int j=1;j<=m;j++){
                minn=0x7f7f7f7f7f7f7f7f;
                for(int k=j;k>0;k--){
                    minn=min(minn,(ll)(i-up[k]));
                    ans+=minn;
                }
            }
        }
        printf("Case #%d: %lld\n",cas++,ans);
    }
    return 0;
}
/**
 E. AC Challenge
链接:https://nanti.jisuanke.com/t/30994
题意:n个题要去做,给出每个题的分数且给出解每道题目之前必须要解决的一些题目,求做多可以获得的分数。
思路:状压DP
dp[i]:i的二进制表示 确定做了那些题,dp[i]表示做这些题获得最大的分数;
看当前i是否满足心意,若满足直接将其更新即可
状态转移方程:dp[i+(1<<j)]=max(dp[i+(1<<j)],dp[i]+做j题的分数);
*/

#include<bits/stdc++.h>
#define maxn 1<<20
#define ll long long
using namespace std;

ll dp[maxn];
int a[25],b[25],d[25];

int su(int x){
    int cnt=0;
    while(x){
        x-=x&-x;
        cnt++;
    }
    return cnt+1;
}

int main(){
    int n,x,y;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d %d %d",&a[i],&b[i],&x);
        while(x--){
            scanf("%d",&y);
            d[i]+=1<<(y-1);
        }
    }
    ll now=(1<<n)-1;
    for(int i=0;i<=now;i++){
        if(dp[i]==0&&i!=0)continue;
        for(int j=0;j<n;j++){
            if((i&(1<<j))==0&&(i&d[j])==d[j]) dp[i+(1<<j)]=max(dp[i+(1<<j)],dp[i]+su(i)*a[j]+b[j]);
        }
    }
    ll ans=0;
    for(int i=0;i<=now;i++) ans=max(dp[i],ans);
    printf("%lld\n",ans);
    return 0;
}
/**
G. Lpl and Energy-saving Lamps
链接:https://nanti.jisuanke.com/t/30996

题意:n个房间每个房间ki个灯泡,每个月买m个灯泡;
对于当前不足以将当前房间完整换完的,看后面房间是否满足条件能够完整换下,直到当前剩余灯泡换不出完整房间为止;
灯泡未用完下个月接着用;保证排在前面的房间的灯泡能够换完就一定得换 可通过样例进行斟酌;

分析:维护一个区间最小值,暴力找到小于等于当前存在灯泡数量的第一个数的位置;
利用两个数组 不断更新出当前数是否被用过  和用过之后的下一个数的位置即可;
具体细节可看代码标注;
*/

#include<bits/stdc++.h>
#define ll long long
using namespace std;

const int maxn=1e5+7;
const int Max=10000000000;

struct node{
  ll x,id;
}a[maxn];

int cmp(node &a,node &b){ return ((a.x<b.x)||(a.x==b.x&&a.id<b.id)); }

ll b[maxn][4],ans1[maxn],ans2[maxn];
int n,m,k,tmp2,Minn,tmp1,x,id,Maxn;

int main(){
	scanf("%d %d",&n,&m);
	for (int i=1;i<=n;i++) scanf("%d",&a[i].x),a[i].id=i;
	sort(a+1,a+1+n,cmp);

	for(int i=1;i<=n;i++){
		int tmp=a[i].x;
		if (b[tmp][1]==0) b[tmp][1]=b[tmp][3]=i;//tmp是否存在,tmp是否被用过且下一个数比它大的数在第几个位置
		b[tmp][2]=i;//tmp在原序列的位置
	}
	tmp1=0;tmp2=0;//可以换的当前房间数,剩余灯泡数;
	Maxn=a[n].x;
	Minn=a[1].x;//维护区间最左边小于某数的数
	for (int i=1;i<maxn;i++){
		if (Minn==Max){//如果当前月份能够将所有的灯泡换完的话,则没必要进行下面的步骤;
			ans1[i]=tmp1;//第i个月可换完整房间数,剩余房间数;
			ans2[i]=tmp2;
			continue;
		}
		tmp2+=m;//当前剩余灯泡数;
		if(tmp2<Minn){//不足以换出最小灯泡房间数
			ans1[i]=tmp1;
			ans2[i]=tmp2;
			continue;
		}
		while(true){
			x=Minn;
			id=a[b[Minn][3]].id;
			for(int j=Minn+1;j<=tmp2;j++){//暴力查询最左边的数的位置;
				if(j>Maxn) break;
				if(b[j][1]==0||b[j][3]>b[j][2]) continue;
				if(a[b[j][3]].id<id){
					id=a[b[j][3]].id;
					x=j;
				}
			}
			tmp1++;
			tmp2-=x;
			b[x][3]++;
			if(x==Minn&&b[Minn][3]>b[Minn][2]){//minn数值已经用过了,暴力到下一个没用过的最小数字;
				Minn++;
				while(Minn<=Maxn){
				    if(b[Minn][1]==0||b[Minn][3]>b[Minn][2]) Minn++;
					else break;
				}
				if(Minn>Maxn) Minn=Max;
			}
			if(tmp2<Minn) break;
		}
		ans1[i]=tmp1;
		ans2[i]=tmp2;
	}
	int t;scanf("%d",&t);
	while(t--){
		int x;scanf("%d",&x);
		printf("%lld %lld\n",ans1[x],ans2[x]);
	}
	return 0;
}
/**
J. Sum
链接:https://nanti.jisuanke.com/t/30999
题意:a=b*c; 问多少个组合(b,c)满足a=b*c且b c不能存在平方项;
example:12 可分解为(1,12),(3,4),(2,6);由于4和12存在2^2项,因此前两个不满足条件 12:ans=2;

分析:对于某数质因数分解存在幂次大于等于3 必定ans = 0;
存在平方项的 当前值对结果无贡献;其余就是2^cnt
直接暴力分块打表(对于完整块直接进行查询即可,非完整块的遍历sqrt(n)即可完成)
思想类似于求解大数(1e9)阶乘;

*/
#include<bits/stdc++.h>
#define ll long long
using namespace std;

const int maxn=2e7+7;

int solve(int n){
    int ans = 0;
    for(int i=2;i*i<=n;i++){
        int cnt=0;
        while(n%i==0) cnt++,n/=i;
        if(cnt>=3) return 0;
        if(cnt==1) ans++;
    }
    if(n>1) ans++;
    return (1<<ans);
}

int blo=4473;
ll rp[100000]={0,17925,38149,59187,80870,102902,125290,147978,170819,193896,217296,240729,264388,288108,311957,335934,360007,384205,408458,432935,457437,482079,506638,531480,556213,581031,605963,630882,655976,681157,706324,731533,756858,782090,807495,832896,858326,883925,909431,935070,960680,986422,1012112,1037952,1063695,1089504,1115543,1141381,1167326,1193315,1219370,1245368,1271460,1297614,1323697,1349837,1376090,1402437,1428668,1455012,1481302,1507618,1534106,1560486,1587019,1613425,1639850,1666359,1692980,1719535,1746117,1772734,1799368,1826029,1852687,1879327,1906066,1932795,1959606,1986318,2013193,2040009,2066760,2093713,2120455,2147422,2174375,2201279,2228249,2255210,2282121,2309256,2336324,2363316,2390369,2417455,2444564,2471705,2498850,2525976,2553237,2580392,2607626,2634828,2662097,2689413,2716718,2744017,2771193,2798519,2825811,2853196,2880611,2908037,2935431,2962803,2990183,3017601,3045139,3072580,3100040,3127580,3155127,3182589,3210161,3237719,3265268,3292862,3320480,3348071,3375669,3403194,3430878,3458455,3486126,3513813,3541595,3569397,3597108,3624800,3652565,3680275,3708118,3735883,3763672,3791452,3819348,3847057,3874801,3902671,3930589,3958440,3986306,4014198,4042097,4069921,4097891,4125866,4153729,4181779,4209735,4237699,4265645,4293590,4321503,4349408,4377587,4405581,4433539,4461602,4489684,4517731,4545762,4573958,4601995,4630116,4658221,4686376,4714509,4742693,4770763,4798953,4827097,4855168,4883365,4911581,4939797,4967993,4996261,5024422,5052777,5080959,5109260,5137505,5165824,5194079,5222339,5250681,5279023,5307403,5335697,5363969,5392378,5420761,5449067,5477586,5505902,5534255,5562631,5591057,5619533,5647927,5676320,5704721,5733271,5761630,5790061,5818455,5846949,5875510,5903893,5932447,5960912,5989396,6018036,6046549,6075086,6103594,6132203,6160789,6189316,6217849,6246378,6274895,6303580,6332240,6360765,6389399,6417913,6446556,6475251,6503941,6532476,6561248,6589921,6618457,6647126,6675830,6704474,6733188,6761983,6790560,6819211,6847950,6876637,6905361,6934029,6962797,6991591,7020427,7049096,7077857,7106607,7135447,7164225,7193038,7221761,7250670,7279384,7308155,7336920,7365785,7394710,7423619,7452508,7481295,7510249,7539080,7567928,7596757,7625689,7654588,7683406,7712348,7741291,7770270,7799130,7827961,7856941,7885940,7914858,7943903,7972821,8001713,8030571,8059688,8088449,8117590,8146584,8175631,8204577,8233666,8262647,8291582,8320572,8349693,8378736,8407849,8436826,8465823,8494904,8523969,8553044,8582141,8611218,8640352,8669412,8698580,8727739,8756801,8785890,8815097,8844106,8873139,8902315,8931432,8960537,8989752,9018819,9047954,9077083,9106283,9135435,9164372,9193764,9222927,9252177,9281359,9310506,9339770,9368946,9398112,9427322,9456540,9485743,9515020,9544331,9573558,9602758,9632119,9661353,9690608,9719951,9749212,9778510,9807703,9836956,9866224,9895623,9924907,9954227,9983520,10012925,10042056,10071488,10100749,10130064,10159361,10188542,10218031,10247427,10276771,10306018,10335434,10364765,10394067,10423573,10452945,10482386,10511726,10541155,10570545,10599843,10629239,10658745,10688114,10717681,10746974,10776489,10805849,10835277,10864815,10894107,10923559,10952981,10982394,11011911,11041445,11070855,11100362,11129851,11159255,11188767,11218404,11247813,11277288,11306808,11336285,11365739,11395254,11424870,11454363,11483946,11513383,11543019,11572579,11602070,11631713,11661181,11690621,11720256,11749765,11779328,11808853,11838507,11868068,11897645,11927315,11956930,11986459,12016131,12045678,12075298,12104775,12134408,12164123,12193701,12223357,12253056,12282533,12312234,12341903,12371567,12401122,12430703,12460476,12490017,12519720,12549433,12579126,12608797,12638406,12668110,12697865,12727601,12757260,12786945,12816622,12846427,12876021,12905767,12935352,12965105,12994743,13024519,13054213,13083840,13113602,13143393,13173068,13202960,13232695,13262310,13292251,13321890,13351567,13381328,13411080,13440868,13470637,13500514,13530315,13559997,13589864,13619525,13649375,13679239,13708881,13738686,13768625,13798350,13828149,13858001,13887815,13917578,13947367,13977274,14007096,14037012,14066723,14096640,14126468,14156360,14186139,14215994,14245801,14275765,14305618,14335428,14365152,14395086,14425011,14454778,14484703,14514518,14544397,14574364,14604266,14634323,14664126,14694024,14723931,14753906,14783923,14813867,14843660,14873759,14903619,14933571,14963579,14993493,15023396,15053397,15083260,15113319,15143292,15173131,15203046,15233063,15263055,15293063,15323086,15352924,15382887,15412978,15442953,15472980,15502971,15532946,15562885,15592863,15622924,15652930,15682882,15713057,15742947,15772954,15802889,15832936,15863079,15893154,15923031,15953124,15983193,16013213,16043206,16073208,16103248,16133270,16163370,16193520,16223560,16253555,16283619,16313742,16343695,16373842,16403909,16434096,16464257,16494270,16524490,16554501,16584548,16614611,16644625,16674793,16704919,16734910,16765166,16795308,16825384,16855506,16885610,16915817,16945998,16976124,17006300,17036475,17066495,17096600,17126865,17156967,17187101,17217360,17247443,17277556,17307708,17337831,17368075,17398366,17428423,17458532,17488735,17518954,17549287,17579338,17609517,17639742,17669963,17700153,17730407,17760708,17790805,17821098,17851385,17881600,17911754,17941810,17972083,18002334,18032603,18062935,18093193,18123247,18153546,18183813,18214066,18244277,18274481,18304838,18335095,18365419,18395564,18425845,18456150,18486413,18516607,18546906,18577155,18607492,18637719,18667964,18698391,18728673,18758920,18789266,18819456,18849760,18880174,18910412,18940588,18971184,19001286,19031553,19061893,19092151,19122643,19152911,19183174,19213532,19243726,19274225,19304586,19334778,19365252,19395533,19425864,19456185,19486640,19517019,19547322,19577746,19608049,19638482,19668928,19699233,19729617,19759947,19790385,19820731,19851059,19881504,19911890,19942293,19972627,20003091,20033444,20063827,20094238,20124703,20155200,20185591,20215951,20246522,20276984,20307353,20337658,20368163,20398663,20429064,20459347,20489739,20520158,20550544,20581028,20611445,20641940,20672404,20702681,20733182,20763663,20794212,20824703,20855134,20885558,20915886,20946437,20976965,21007441,21037965,21068361,21098933,21129186,21159785,21190265,21220688,21251280,21281790,21312325,21342758,21373354,21403779,21434191,21464645,21495089,21525594,21556104,21586619,21617210,21647701,21678129,21708725,21739296,21769854,21800413,21831042,21861545,21891938,21922507,21953036,21983448,22014089,22044638,22075164,22105714,22136223,22166791,22197272,22227852,22258357,22288902,22319633,22350109,22380711,22411282,22441912,22472510,22503047,22533656,22564211,22594898,22625549,22655974,22686656,22717069,22747688,22778262,22808867,22839436,22870007,22900615,22931242,22961925,22992527,23023140,23053701,23084304,23114911,23145573,23176218,23206842,23237558,23268139,23298825,23329332,23360101,23390659,23421368,23451933,23482600,23513254,23543867,23574544,23605089,23635810,23666473,23697037,23727739,23758388,23789156,23819712,23850472,23881069,23911808,23942430,23973031,24003894,24034554,24065276,24096084,24126663,24157338,24187929,24218742,24249380,24280097,24310740,24341318,24372265,24402816,24433571,24464151,24495034,24525605,24556288,24587019,24617960,24648563,24679383,24710138,24740727,24771437,24802255,24833000,24863737,24894393,24925122,24955884,24986520,25017347,25048109,25079000,25109744,25140419,25171231,25201899,25232716,25263419,25294273,25325087,25355832,25386539,25417349,25448148,25478817,25509742,25540284,25571055,25601924,25632767,25663446,25694175,25725036,25755838,25786704,25817405,25848298,25878834,25909800,25940705,25971439,26002254,26033068,26063857,26094781,26125450,26156252,26187074,26217795,26248686,26279492,26310372,26341214,26371977,26402930,26433679,26464442,26495371,26526069,26556890,26587757,26618558,26649458,26680179,26711112,26741986,26772756,26803689,26834424,26865296,26896151,26927086,26957881,26988749,27019480,27050449,27081251,27112144,27143027,27173790,27204722,27235571,27266608,27297360,27328213,27359068,27389837,27420797,27451744,27482712,27513575,27544353,27575266,27606181,27637080,27668002,27698966,27729797,27760765,27791719,27822508,27853483,27884473,27915296,27946189,27977182,28008188,28039167,28070000,28101084,28131957,28162916,28193714,28224608,28255643,28286556,28317514,28348382,28379351,28410280,28441051,28472090,28503105,28533962,28564892,28595679,28626734,28657903,28688783,28719720,28750743,28781602,28812652,28843540,28874524,28905388,28936451,28967454,28998435,29029307,29060254,29091362,29122314,29153310,29184325,29215360,29246271,29277201,29308010,29339083,29370257,29401172,29432149,29463152,29494080,29525055,29556210,29587113,29618157,29649067,29680182,29711219,29742167,29773210,29804219,29835236,29866256,29897238,29928351,29959142,29990319,30021326,30052411,30083421,30114416,30145442,30176453,30207489,30238460,30269683,30300650,30331686,30362775,30393653,30424839,30455823,30486948,30517909,30548990,30579984,30611107,30642060,30673275,30704331,30735351,30766566,30797610,30828761,30859791,30890824,30922004,30953044,30984339,31015162,31046288,31077417,31108554,31139624,31170680,31201669,31232815,31263934,31294858,31326063,31357204,31388261,31419303,31450320,31481559,31512675,31543753,31574834,31606109,31637164,31668198,31699327,31730496,31761651,31792561,31823965,31855092,31886043,31917165,31948328,31979345,32010502,32041688,32072871,32103882,32135072,32166100,32197265,32228436,32259528,32290745,32321881,32353070,32384102,32415245,32446326,32477593,32508787,32539866,32570911,32602181,32633421,32664611,32695790,32726975,32758075,32789118,32820309,32851448,32882662,32913887,32944956,32976143,33007287,33038458,33069861,33100890,33131918,33163176,33194365,33225552,33256858,33288019,33319224,33350343,33381613,33412830,33443908,33475085,33506331,33537444,33568588,33599927,33631075,33662448,33693549,33724697,33755885,33787206,33818419,33849716,33880834,33912085,33943300,33974375,34005661,34036822,34068082,34099251,34130484,34161768,34193065,34224388,34255680,34286804,34317962,34349301,34380540,34411742,34442925,34474192,34505465,34536593,34567794,34599120,34630349,34661677,34692942,34724175,34755498,34786616,34818001,34849352,34880614,34911762,34943005,34974382,35005612,35036808,35068161,35099372,35130496,35161830,35193041,35224408,35255623,35286847,35318288,35349463,35380762,35412106,35443438,35474884,35506065,35537320,35568668,35599977,35631280,35662537,35693861,35725146,35756428,35787833,35819125,35850515,35881630,35913005,35944267,35975748,36006889,36038279,36069575,36100918,36132169,36163474,36194932,36226172,36257413,36288708,36319937,36351317,36382616,36413865,36445176,36476546,36508073,36539378,36570629,36601949,36633431,36664693,36696092,36727568,36758765,36790142,36821457,36852885,36884202,36915566,36946960,36978289,37009531,37040992,37072371,37103758,37135120,37166381,37197867,37229017,37260449,37291756,37323005,37354440,37385796,37417169,37448482,37479854,37511284,37542626,37574235,37605602,37636859,37668197,37699426,37730865,37762256,37793644,37825042,37856413,37887898,37919254,37950705,37982035,38013404,38044861,38076191,38107682,38138966,38170375,38201825,38233286,38264559,38296006,38327420,38358914,38390427,38421821,38453355,38484655,38516010,38547403,38578832,38610296,38641753,38673156,38704629,38735989,38767442,38798943,38830370,38861800,38893224,38924633,38956158,38987571,39018989,39050551,39082042,39113289,39144803,39176239,39207470,39239001,39270581,39301961,39333364,39365004,39396361,39427875,39459356,39490711,39522076,39553610,39585065,39616500,39648110,39679594,39711092,39742607,39773972,39805485,39836925,39868368,39899837,39931238,39962778,39994237,40025585,40057191,40088566,40120226,40151695,40183176,40214509,40245891,40277549,40309066,40340631,40372019,40403535,40434906,40466365,40497976,40529592,40561097,40592555,40623956,40655602,40687027,40718552,40750182,40781755,40813147,40844642,40876169,40907839,40939217,40970746,41002291,41033852,41065260,41096688,41128241,41159702,41191287,41222813,41254318,41285879,41317332,41348892,41380458,41411999,41443554,41475053,41506611,41538117,41569668,41601171,41632879,41664284,41695770,41727209,41758743,41790287,41821918,41853424,41885083,41916561,41948100,41979605,42011271,42042780,42074302,42105905,42137446,42168924,42200602,42232103,42263722,42295258,42326863,42358397,42390016,42421505,42453100,42484820,42516291,42547904,42579436,42610934,42642526,42674132,42705721,42737143,42768845,42800365,42831883,42863540,42895119,42926725,42958264,42989939,43021565,43053017,43084704,43116284,43147918,43179481,43211057,43242785,43274308,43305877,43337517,43369065,43400748,43432339,43463979,43495533,43527152,43558864,43590475,43622003,43653679,43685298,43716949,43748522,43780022,43811597,43843432,43875028,43906787,43938305,43969998,44001515,44033232,44064784,44096416,44128120,44159657,44191318,44222966,44254635,44286174,44317967,44349451,44381125,44412790,44444580,44476218,44507642,44539295,44570984,44602521,44634235,44665725,44697418,44729093,44760745,44792581,44824010,44855960,44887461,44919032,44950776,44982397,45014202,45045771,45077423,45109149,45140770,45172451,45204120,45235814,45267414,45299099,45330899,45362508,45394244,45425882,45457585,45489126,45520768,45552512,45584219,45615952,45647685,45679297,45710930,45742706,45774298,45805995,45837765,45869378,45901153,45932914,45964466,45996266,46028063,46059674,46091242,46122966,46154639,46186260,46217984,46249717,46281367,46313061,46344674,46376333,46408119,46439801,46471604,46503369,46535100,46566796,46598557,46630235,46661958,46693697,46725509,46757275,46788892,46820677,46852427,46883991,46915784,46947397,46979348,47011038,47042796,47074512,47106220,47138017,47169817,47201498,47233148,47264842,47296671,47328335,47360074,47391825,47423601,47455407,47487159,47518808,47550651,47582450,47614236,47646060,47677671,47709365,47741108,47772878,47804661,47836426,47868246,47899995,47931667,47963274,47995195,48026834,48058694,48090490,48122186,48153915,48185689,48217439,48249273,48281138,48312961,48344672,48376522,48408375,48440019,48471671,48503392,48535272,48567029,48598856,48630704,48662519,48694257,48726018,48757801,48789551,48821401,48853131,48884884,48916741,48948455,48980293,49012097,49043794,49075469,49107282,49139298,49171141,49202931,49234670,49266533,49298371,49330224,49361970,49393853,49425602,49457402,49489292,49521087,49552813,49584674,49616562,49648423,49680074,49711889,49743735,49775469,49807302,49839094,49870979,49902815,49934741,49966494,49998269,50030024,50061838,50093800,50125748,50157373,50189269,50221109,50252826,50284662,50316521,50348368,50380242,50412041,50443823,50475760,50507545,50539411,50571250,50603006,50634888,50667013,50698661,50730560,50762373,50794297,50826138,50857816,50889706,50921649,50953479,50985326,51017244,51049023,51080901,51112772,51144626,51176532,51208315,51240401,51272150,51304092,51335784,51367763,51399590,51431441,51463263,51494999,51527010,51558923,51590841,51622659,51654473,51686280,51718221,51750032,51781962,51813948,51845795,51877644,51909347,51941281,51973277,52005086,52037027,52068995,52100933,52132895,52164678,52196733,52228474,52260356,52292324,52324442,52356205,52388149,52419965,52451833,52483850,52515611,52547692,52579486,52611425,52643313,52675275,52707112,52739184,52770894,52802932,52834875,52866648,52898684,52930485,52962565,52994430,53026490,53058222,53090077,53122037,53153996,53186039,53217769,53249789,53281818,53313737,53345486,53377418,53409282,53441332,53473327,53505158,53536998,53569034,53601121,53633000,53664989,53696717,53728871,53760567,53792558,53824421,53856473,53888407,53920314,53952337,53984228,54016204,54048220,54080152,54112146,54144189,54175977,54207943,54239864,54271911,54303788,54335790,54367812,54399819,54431652,54463552,54495468,54527476,54559425,54591416,54623359,54655409,54687439,54719316,54751416,54783321,54815289,54847201,54879194,54911231,54943125,54974980,55006874,55039025,55070985,55102851,55134878,55166892,55198858,55230793,55262759,55294626,55326704,55358633,55390673,55422704,55454675,55486817,55518800,55550738,55582670,55614547,55646677,55678601,55710638,55742761,55774688,55806534,55838554,55870449,55902408,55934638,55966758,55998622,56030636,56062731,56094659,56126695,56158657,56190642,56222699,56254705,56286604,56318784,56350727,56382740,56414752,56446760,56478628,56510709,56542889,56574882,56606915,56639039,56671123,56703111,56735065,56767103,56799057,56831157,56863196,56895011,56927030,56959160,56991180,57023177,57055245,57087282,57119350,57151442,57183403,57215502,57247408,57279645,57311467,57343490,57375575,57407699,57439669,57471837,57503736,57535718,57567859,57599870,57631918,57663982,57696043,57728252,57760333,57792255,57824241,57856438,57888409,57920496,57952448,57984546,58016661,58048732,58080652,58112933,58144971,58177115,58209279,58241208,58273385,58305415,58337534,58369670,58401767,58433852,58465902,58497768,58529955,58562015,58594062,58626102,58658270,58690257,58722438,58754280,58786493,58818577,58850678,58882728,58914935,58947185,58979129,59011206,59043282,59075223,59107254,59139370,59171468,59203547,59235859,59267784,59299980,59332100,59364073,59396032,59428204,59460297,59492419,59524710,59556752,59588799,59620822,59652916,59685060,59717232,59749359,59781356,59813520,59845672,59877687,59909856,59941984,59974057,60006213,60038028,60070156,60102286,60134513,60166651,60198987,60231000,60263205,60295255,60327395,60359433,60391668,60423735,60455967,60488011,60520257,60552442,60584417,60616481,60648598,60680660,60712838,60745085,60777122,60809229,60841347,60873401,60905677,60937768,60969796,61002059,61034305,61066452,61098494,61130727,61162886,61194912,61227112,61259164,61291357,61323518,61355656,61387712,61419895,61452040,61484086,61516343,61548507,61580494,61612690,61644956,61677039,61709175,61741383,61773644,61805655,61837916,61870038,61902260,61934409,61966642,61998766,62030864,62063042,62095151,62127493,62159654,62191761,62223907,62256017,62288230,62320399,62352617,62384928,62417040,62449194,62481386,62513673,62545738,62578020,62610204,62642279,62674452,62706801,62738921,62771097,62803271,62835406,62867510,62899999,62932017,62964247,62996480,63028602,63060739,63092961,63125171,63157306,63189468,63221632,63253823,63285935,63318164,63350468,63382647,63414828,63447168,63479192,63511405,63543643,63576027,63608117,63640303,63672360,63704524,63736877,63769046,63801282,63833506,63865769,63897838,63930177,63962345,63994537,64026592,64058958,64091241,64123512,64155756,64188028,64220305,64252628,64284793,64316873,64349193,64381435,64413595,64445700,64477931,64510199,64542563,64574868,64606871,64639169,64671297,64703563,64735810,64768180,64800356,64832519,64864815,64897049,64929446,64961629,64993806,65025852,65058214,65090361,65122651,65154876,65187104,65219496,65251690,65283839,65316064,65348305,65380651,65412813,65445186,65477384,65509677,65541956,65574192,65606402,65638695,65670922,65703162,65735453,65767739,65800056,65832278,65864275,65896666,65928942,65961180,65993394,66025551,66057851,66090204,66122474,66154851,66187155,66219368,66251533,66283849,66316227,66348528,66380800,66413048,66445355,66477685,66509825,66542168,66574427,66606580,66638880,66671208,66703379,66735709,66767918,66800248,66832580,66865016,66897104,66929303,66961749,66993812,67026292,67058615,67090991,67123274,67155533,67187827,67220201,67252390,67284667,67316877,67349214,67381348,67413748,67446175,67478566,67510801,67543053,67575303,67607535,67639925,67672012,67704417,67736845,67769165,67801570,67833722,67866098,67898385,67930645,67963058,67995288,68027622,68059845,68092121,68124427,68156818,68189115,68221401,68253792,68286010,68318448,68350737,68383060,68415404,68447656,68479970,68512143,68544525,68576820,68609147,68641419,68673957,68706382,68738475,68770751,68803126,68835328,68867878,68900247,68932480,68964723,68997167,69029467,69061910,69094194,69126402,69158926,69191376,69223518,69255966,69288181,69320647,69353043,69385329,69417857,69450154,69482431,69514809,69547116,69579616,69611914,69644446,69676592,69708775,69741073,69773565,69805862,69838128,69870569,69902912,69935266,69967464,69999909,70032264,70064472,70096810,70129212,70161738,70194189,70226432,70258989,70291309,70323771,70355992,70388304,70420609,70453002,70485246,70517636,70549945,70582324,70614776,70647079,70679379,70711729,70744166,70776597,70808859,70841347,70873683,70906011,70938583,70970818,71003219,71035625,71067877,71100378,71132794,71165181,71197570,71229982,71262284,71294509,71326989,71359451,71391832,71423984,71456460,71488808,71521069,71553577,71585966,71618322,71650739,71683225,71715642,71748000,71780400,71812850,71845189,71877613,71910019,71942384,71974760,72007188,72039677,72072030,72104340,72136809,72169269,72201611,72234010,72266435,72298877,72331426,72363804,72396146,72428575,72460854,72493284,72525673,72558063,72590417,72623033,72655419,72687678,72720202,72752668,72785085,72817277,72849888,72882309,72914613,72946951,72979464,73011794,73044260,73076573,73108969,73141433,73173878,73206335,73238709,73271098,73303518,73336034,73368391,73400818,73433188,73465680,73498098,73530506,73563045,73595570,73627892,73660389,73692881,73725274,73757652,73790195,73822563,73854983,73887495,73919930,73952342,73984845,74017214,74049760,74082182,74114647,74147121,74179616,74211982,74244346,74276966,74309370,74341913,74374209,74406788,74439204,74471698,74504101,74536428,74568920,74601497,74634027,74666341,74698740,74731330,74763846,74796203,74828809,74861187,74893654,74926049,74958519,74991016,75023276,75055672,75088335,75120736,75153312,75185698,75218102,75250707,75283139,75315624,75348159,75380587,75413063,75445440,75477816,75510193,75542670,75575292,75607664,75640317,75672593,75705118,75737571,75770127,75802569,75835002,75867564,75900089,75932408,75964972,75997554,76029904,76062440,76095097,76127456,76159810,76192346,76224884,76257388,76289991,76322278,76354840,76387286,76419817,76452379,76484959,76517330,76549844,76582182,76614647,76647187,76679886,76712155,76744669,76777243,76809810,76842338,76874669,76907249,76939765,76972115,77004792,77037287,77069789,77102194,77134702,77167126,77199793,77232432,77264874,77297397,77329783,77362391,77394866,77427262,77459856,77492383,77525053,77557441,77589838,77622495,77655065,77687450,77720122,77752468,77785006,77817627,77850059,77882806,77915134,77947670,77980165,78012773,78045325,78077922,78110424,78142934,78175353,78207929,78240451,78272938,78305392,78338044,78370495,78403106,78435598,78468325,78500735,78533233,78565632,78598062,78630635,78663429,78695849,78728397,78761066,78793574,78826069,78858598,78891076,78923638,78956164,78988738,79021261,79053642,79086122,79118694,79151357,79183567,79216220,79248867,79281271,79313973,79346518,79379122,79411771,79444204,79476804,79509290,79541842,79574394,79606963,79639342,79671920,79704678,79737157,79769805,79802400,79835157,79867655,79900225,79932836,79965478,79997984,80030511,80063161,80095735,80128117,80160812,80193369,80226083,80258480,80291008,80323704,80356291,80388844,80421340,80453922,80486598,80518960,80551675,80584224,80616900,80649427,80682157,80714591,80747178,80779647,80812419,80844912,80877418,80909950,80942675,80975220,81007714,81040391,81072803,81105467,81138165,81170763,81203206,81235833,81268435,81301205,81333665,81366399,81398959,81431364,81464120,81496586,81529199,81561771,81594416,81627051,81659605,81692241,81724812,81757530,81790168,81822764,81855255,81887873,81920521,81952918,81985637,82018125,82050758,82083392,82116128,82148713,82181306,82214088,82246540,82279110,82311806,82344417,82377185,82409587,82442192,82475026,82507544,82540171,82572863,82605246,82638117,82670567,82703221,82735826,82768346,82800913,82833636,82866340,82898864,82931517,82964237,82996650,83029502,83062043,83094699,83127313,83159871,83192658,83225024,83257615,83290303,83323089,83355678,83388259,83420791,83453594,83486102,83518762,83551281,83583969,83616697,83649339,83681989,83714709,83747404,83780026,83812705,83845311,83878011,83910543,83943119,83975735,84008418,84041082,84073780,84106356,84139082,84171689,84204244,84236888,84269533,84302079,84334737,84367352,84399918,84432787,84465330,84497934,84530576,84563279,84595933,84628704,84661473,84694221,84726765,84759264,84791944,84824607,84857397,84889928,84922644,84955256,84987794,85020459,85053171,85085844,85118356,85151200,85183553,85216359,85248964,85281721,85314129,85346827,85379547,85412245,85444901,85477554,85510254,85542852,85575578,85608283,85640804,85673442,85706069,85738817,85771567,85804182,85836913,85869477,85902263,85934979,85967603,86000404,86032994,86065849,86098360,86131064,86163716,86196414,86228942,86261733,86294331,86326998,86359710,86392370,86425101,86457880,86490560,86523355,86555951,86588437,86621126,86653970,86686685,86719320,86751976,86784642,86817416,86850122,86882811,86915465,86948182,86980914,87013638,87046195,87078848,87111720,87144227,87176791,87209509,87242334,87275022,87307778,87340327,87372985,87405695,87438451,87471041,87503911,87536523,87569114,87601954,87634770,87667279,87699988,87732584,87765300,87798124,87831012,87863613,87896253,87928902,87961669,87994281,88027095,88059766,88092438,88125323,88157967,88190890,88223542,88256254,88289067,88321738,88354450,88387141,88419883,88452587,88485222,88517984,88550743,88583358,88616092,88648810,88681642,88714444,88746941,88779741,88812531,88845373,88877949,88910625,88943415,88976290,89008991,89041691,89074435,89107286,89139934,89172772,89205540,89238185,89270891,89303723,89336526,89369239,89401905,89434778,89467544,89500380,89533087,89565691,89598360,89631124,89663900,89696676,89729442,89762165,89794822,89827490,89860227,89892999,89925779,89958718,89991442,90024219,90056862,90089430,90122322,90155039,90187765,90220466,90253492,90286175,90319023,90351855,90384596,90417364,90450001,90482726,90515400,90548056,90580832,90613624,90646474,90679002,90711855,90744659,90777353,90810250,90842979,90875745,90908358,90941102,90973836,91006703,91039447,91072337,91105035,91137792,91170578,91203242,91236459,91268948,91301844,91334481,91367253,91399983,91432823,91465581,91498379,91531205,91563933,91596659,91629495,91662184,91694870,91727860,91760623,91793435,91826213,91858928,91891652,91924547,91957136,91989942,92022840,92055682,92088199,92121104,92153996,92186733,92219645,92252425,92285308,92318060,92350783,92383539,92416246,92449110,92481730,92514546,92547423,92580259,92612934,92645762,92678688,92711469,92744023,92776885,92809743,92842484,92875360,92908180,92941099,92973711,93006675,93039442,93072156,93104994,93137977,93170765,93203672,93236328,93269049,93301907,93334623,93367470,93400260,93432873,93465925,93498671,93531521,93564518,93597262,93630047,93662781,93695548,93728480,93761118,93793883,93826927,93859608,93892407,93925217,93958029,93990799,94023642,94056479,94089415,94122153,94154959,94187837,94220362,94253302,94286199,94319052,94351766,94384594,94417518,94450218,94482997,94515913,94548822,94581632,94614556,94647353,94680119,94712952,94745800,94778759,94811445,94844367,94877156,94910136,94942978,94975699,95008493,95041221,95074079,95106982,95139919,95172663,95205606,95238304,95271214,95304087,95336997,95369923,95402641,95435297,95468351,95501171,95534094,95566995,95599769,95632571,95665361,95698109,95731096,95763908,95796819,95829635,95862446,95895196,95928166,95960911,95993851,96026584,96059421,96092263,96125175,96158101,96190890,96223631,96256329,96289254,96322060,96354948,96388012,96420920,96453602,96486410,96519217,96552221,96585075,96617987,96650791,96683662,96716427,96749445,96781963,96815019,96847939,96880777,96913851,96946604,96979354,97012234,97045175,97078137,97110978,97143808,97176487,97209383,97242277,97275258,97308090,97340787,97373737,97406627,97439661,97472353,97505306,97538323,97571183,97604082,97636810,97669800,97702611,97735593,97768300,97801268,97834171,97866977,97899843,97932776,97965842,97998795,98031558,98064328,98097186,98129924,98162809,98195923,98228701,98261603,98294505,98327427,98360235,98393167,98426158,98459032,98491911,98524971,98557739,98590599,98623691,98656468,98689515,98722379,98755249,98787973,98821062,98853950,98886784,98919785,98952623,98985507,99018189,99051050,99083983,99116753,99149720,99182732,99215696,99248543,99281395,99314454,99347402,99380186,99412950,99445954,99478908,99511742,99544671,99577525,99610431,99643391,99676289,99709200,99742057,99775169,99807988,99840906,99873922,99906712,99939601,99972596,100005446,100038437,100071235,100104219,100137070,100170006,100202993,100236027,100268914,100301712,100334558,100367416,100400392,100433415,100466348,100499440,100532138,100565052,100597967,100630763,100663782,100696707,100729687,100762655,100795855,100828562,100861386,100894348,100927265,100960217,100993087,101026068,101058914,101091919,101124775,101157722,101190674,101223512,101256517,101289411,101322550,101355376,101388264,101421196,101454144,101487025,101519991,101552858,101585819,101618755,101651715,101684717,101717694,101750452,101783303,101816334,101849298,101882236,101915108,101947993,101981178,102014010,102047001,102079997,102112909,102145997,102179154,102211986,102244914,102277927,102310919,102343837,102376851,102409555,102442552,102475564,102508491,102541423,102574405,102607170,102640212,102673183,102705935,102739036,102772100,102805072,102837873,102870947,102903835,102936825,102969868,103002960,103035912,103068903,103101779,103134558,103167595,103200557,103233471,103266509,103299268,103332302,103365331,103398321,103431229,103464291,103497083,103530220,103563199,103596029,103629128,103662134,103695160,103727934,103760957,103793785,103826909,103859718,103892898,103925816,103958655,103991649,104024858,104057858,104090671,104123635,104156601,104189526,104222560,104255609,104288537,104321342,104354308,104387410,104420248,104453206,104486311,104519285,104552176,104585148,104618080,104651137,104684075,104717022,104749966,104783159,104816141,104849115,104882052,104915060,104948054,104981042,105014022,105047058,105079892,105112893,105145989,105179072,105211874,105244988,105278178,105311082,105344089,105377101,105410050,105443024,105476104,105508984,105541942,105574893,105608023,105640960,105673993,105706965,105739911,105773041,105806080,105839084,105872099,105905149,105938167,105971121,106004169,106037166,106070057,106103085,106135994,106169006,106201902,106234944,106268167,106301074,106334056,106367317,106400187,106433283,106466159,106499165,106532202,106565154,106598001,106631149,106664119,106697273,106730064,106763233,106796189,106829174,106862330,106895124,106928094,106961329,106994413,107027371,107060498,107093494,107126372,107159358,107192591,107225488,107258588,107291393,107324575,107357563,107390553,107423634,107456573,107489763,107522777,107556035,107588851,107621923,107654922,107687929,107720983,107754060,107787132,107820028,107853086,107886177,107919146,107952160,107985193,108018185,108051301,108084353,108117435,108150410,108183418,108216419,108249395,108282381,108315357,108348546,108381587,108414533,108447780,108480674,108513672,108546666,108579906,108612897,108645961,108678958,108712036,108745036,108778092,108811157,108844148,108877188,108910065,108943357,108976557,109009365,109042420,109075558,109108528,109141613,109174625,109207637,109240635,109273674,109306906,109339913,109373024,109405922,109439036,109472154,109505113,109538173,109571201,109604319,109637185,109670407,109703513,109736564,109769730,109802775,109835862,109868888,109902112,109935096,109968079,110001183,110034136,110067222,110100329,110133337,110166541,110199504,110232726,110265753,110298687,110331896,110364868,110398120,110431043,110464029,110497276,110530258,110563313,110596555,110629631,110662687,110695739,110728800,110761860,110795008,110828038,110861170,110894233,110927409,110960388,110993564,111026576,111059488,111092458,111125580,111158703,111191873,111225105,111258092,111291254,111324272,111357402,111390475,111423612,111456616,111489565,111522655,111555875,111589051,111622182,111655250,111688129,111721197,111754129,111787213,111820405,111853452,111886406,111919433,111952496,111985842,112018900,112051886,112085036,112118148,112151253,112184281,112217398,112250596,112283656,112316823,112349771,112382878,112415940,112449115,112482155,112515235,112548386,112581374,112614527,112647703,112680680,112713858,112746940,112780160,112813458,112846497,112879613,112912774,112945844,112978848,113011946,113044921,113078120,113111272,113144357,113177527,113210493,113243595,113276860,113309980,113343116,113376135,113409277,113442425,113475607,113508716,113541714,113574776,113607776,113641247,113674257,113707385,113740378,113773488,113806455,113839683,113872825,113905919,113939025,113972371,114005315,114038506,114071640,114104809,114137719,114170943,114203867,114237242,114270287,114303431,114336524,114369602,114402720,114435900,114469087,114502169,114535588,114568569,114601655,114634693,114667963,114701016,114734134,114767371,114800461,114833456,114866468,114899650,114932908,114965902,114999061,115032207,115065390,115098668,115131726,115164995,115198089,115231265,115264271,115297308,115330498,115363718,115396778,115429745,115463037,115496325,115529390,115562526,115595692,115628674,115661959,115695191,115728290,115761492,115794625,115827783,115860865,115893962,115926998,115960197,115993401,116026349,116059761,116092867,116125714,116159134,116192153,116225443,116258494,116291718,116324868,116358178,116391353,116424449,116457448,116490838,116523872,116557122,116590316,116623313,116656433,116689736,116722858,116756023,116789091,116822191,116855458,116888506,116921723,116954865,116987993,117021255,117054277,117087609,117120739,117153878,117186922,117220003,117253417,117286441,117319687,117352872,117385952,117419119,117452127,117485486,117518658,117551784,117584967,117618241,117651305,117684519,117717750,117750872,117783854,117817121,117850347,117883526,117916736,117950047,117983111,118016427,118049427,118082440,118115696,118148915,118181947,118215239,118248351,118281613,118314710,118347902,118381039,118414245,118447412,118480730,118513892,118547039,118580301,118613474,118646380,118679789,118713009,118746205,118779415,118812518,118845514,118878965,118912189,118945165,118978315,119011537,119044730,119077868,119111067,119144409,119177464,119210788,119243992,119277252,119310276,119343472,119376758,119409689,119442975,119476189,119509435,119542674,119575754,119608959,119642105,119675362,119708684,119741830,119774937,119808287,119841309,119874599,119907662,119941076,119974144,120007314,120040648,120073825,120107031,120140140,120173342,120206510,120239832,120272813,120305971,120339382,120372636,120405852,120438904,120472092,120505257,120538411,120571788,120605046,120638355,120671497,120704765,120738051,120771326,120804490,120837611,120870732,120903880,120937102,120970282,121003425,121036587,121069756,121103066,121136403,121169447,121202651,121235789,121269270,121302365,121335635,121368750,121401894,121435310,121468360,121501574,121534738,121567958,121601368,121634503,121667887,121701137,121734354,121767546,121800681,121833899,121867148,121900270,121933498,121966740,122000095,122033375,122066417,122099707,122132916,122166296,122199466,122232735,122266101,122299320,122332708,122365731,122399175,122432269,122465561,122498725,122532133,122565240,122598376,122631602,122664956,122698066,122731339,122764545,122797888,122831138,122864245,122897539,122930911,122964287,122997368,123030681,123063855,123097105,123130285,123163425,123196713,123230010,123263272,123296437,123329849,123363164,123396368,123429636,123462852,123496215,123529412,123562582,123595787,123629007,123662279,123695363,123728563,123761923,123795128,123828366,123861697,123894869,123928057,123961275,123994700,124027879,124061171,124094444,124127694,124160952,124194096,124227295,124260581,124294107,124327271,124360496,124393882,124427096,124460212,124493411,124526744,124559850,124593119,124626395,124659639,124692891,124726110,124759374,124792675,124825973,124859063,124892471,124925815,124959037,124992279,125025552,125058766,125092153,125125399,125158689,125191977,125225088,125258276,125291815,125325131,125358620,125391594,125425078,125458200,125491445,125524693,125557931,125591322,125624572,125657984,125691070,125724323,125757507,125790742,125824006,125857347,125890549,125923743,125957129,125990445,126023839,126057006,126090211,126123571,126157033,126190185,126223387,126256763,126290046,126323334,126356757,126390203,126423395,126456721,126489884,126523020,126556408,126589666,126622951,126656323,126689575,126722730,126756094,126789435,126822655,126855947,126889245,126922699,126955895,126989178,127022484,127055773,127089117,127122463,127155689,127189047,127222279,127255732,127288887,127322207,127355296,127388690,127421878,127455000,127488311,127521751,127554954,127588360,127621585,127655095,127688295,127721717,127754864,127788310,127821552,127854814,127888195,127921517,127954805,127987996,128021314,128054487,128087839,128121172,128154546,128187778,128221032,128254382,128287784,128321135,128354475,128387724,128420912,128454254,128487548,128520857,128554020,128587442,128620814,128654136,128687518,128720650,128754161,128787245,128820689,128853843,128887064,128920666,128953846,128987092,129020399,129053765,129087114,129120404,129153791,129187205,129220423,129253644,129286940,129320231,129353631,129387051,129420315,129453771,129486889,129520382,129553342,129586883,129620267,129653570,129687070,129720296,129753644,129787057,129820317,129853606,129887038,129920347,129953645,129986851,130020162,130053316,130086883,130120253,130153504,130186880,130220160,130253572,130286979,130320275,130353678,130387040,130420387,130453425,130486799,130520163,130553481,130586845,130620210,130653578,130686939,130720289,130753595,130786810,130820234,130853457,130886833,130920250,130953618,130987080,131020322,131053613,131086909,131120305,131153647,131186900,131220010,131253438,131286930,131320275,131353753,131387050,131420416,131453677,131487037,131520373,131553739,131587044,131620555,131653985,131687253,131720449,131753949,131787265,131820698,131854036,131887295,131920881,131954128,131987342,132020688,132054184,132087493,132120665,132154114,132187378,132220765,132254207,132287379,132320805,132354178,132387390,132420833,132454193,132487706,132521064,132554458,132587720,132621208,132654577,132687829,132721238,132754482,132787780,132821104,132854482,132887880,132921091,132954677,132987928,133021528,133054756,133088166,133121523,133154915,133188242,133221606,133254882,133288400,133321766,133354968,133388389,133421709,133455115,133488421,133521768,133554932,133588522,133621793,133655423,133688882,133722130,133755477,133788833,133822117,133855659,133888968,133922424,133955929,133989295,134022453,134055749,134089297,134122513,134155794,134189182,134222470,134255940,134289395,134322795,134356359,134389565,134423130,134456350,134489873,134523165,134556830,134590232,134623492,134656820,134690287,134723594,134757038,134790455,134823727,134857189,134890455,134923763,134957341,134990546,135023978,135057231,135090589,135124121,135157503,135190763,135224397,135257734,135291162,135324561,135357973,135391285,135424703,135458052,135491446,135524981,135558227,135591694,135625132,135658338,135691820,135725233,135758633,135792051,135825413,135858811,135892229,135925625,135959127,135992426,136025678,136059207,136092530,136125816,136159374,136192778,136226207,136259443,136292890,136326306,136359738,136393006,136426456,136459994,136493413,136526955,136560298,136593710,136627015,136660201,136693703,136727195,136760464,136793984,136827297,136860773,136894348,136927680,136960998,136994400,137027917,137061405,137094629,137128025,137161340,137194768,137228278,137261774,137295229,137328627,137361852,137395366,137428663,137462293,137495499,137529063,137562521,137595943,137629336,137662792,137696141,137729651,137763201,137796463,137829900,137863364,137896737,137930216,137963548,137997052,138030324,138063855,138097219,138130777,138164209,138197454,138230970,138264344,138297724,138331229,138364577,138398056,138431480,138464969,138498301,138531601,138565037,138598492,138631990,138665398,138698950,138732502,138765804,138799202,138832504,138866101,138899687,138933068,138966248,138999697,139033209,139066687,139100235,139133633,139167159,139200568,139234134,139267531,139300865,139334247,139367549,139400996,139434516,139468025,139501609,139535022,139568296,139601878,139635086,139668567,139702159,139735476,139768916,139802299,139835873,139869319,139902679,139936195,139969445,140003126,140036372,140069913,140103281,140136703,140170223,140203642,140237060,140270415,140303913,140337400,140370868,140404266,140437738,140471013,140504639,140537989,140571569,140605010,140638472,140672030,140705294,140738783,140772327,140805741,140839297,140872636,140906130,140939542,140973216,141006557,141040187,141073394,141106812,141140224,141173568,141207028,141240598,141274081,141307475,141341102,141374532,141408070,141441600,141474952,141508524,141541855,141575441,141608872,141642176,141675759,141709247,141742679,141776163,141809690,141843122,141876517,141910027,141943382,141976802,142010256,142043800,142077355,142110609,142144066,142177736,142211171,142244603};

int main(){
    int t;scanf("%d",&t);
    while(t--){
        int n;scanf("%d" ,&n);
        ll ans=rp[n/blo];
        for(int i=n/blo*blo+1;i<=n;i++) ans+=solve(i);
        printf("%lld\n", ans);
    }
    return 0;
}
/**
L.Magical Girl Haze
链接:https://nanti.jisuanke.com/t/31001
题意:n个点,m带权有向边,在使K条边权值为0的情况下,求1-->N的最短路。
分析:dis[i][j]:1-->i免费j条边的最小花费;
对于每一个点,存在两种松弛,第一是对普通的边进行松弛,第二是多免费一条边下的松弛;
dijkstra + 堆优化 即可
*/

#include<bits/stdc++.h>
#define ll long long
using namespace std;

const int maxn=4e5+7;
struct node{
    ll a, b, c;
    bool operator > (const node &tmp) const{
        return a>tmp.a;
    }
};

ll n, m, k, cnt,nnn;
ll head[maxn],to[maxn<<1],nxt[maxn<<1],val[maxn<<1],dis[maxn][21];
void add(ll u, ll v, ll w){ to[cnt]=v;val[cnt]=w;nxt[cnt]=head[u];head[u]=cnt++;}

bool vis[maxn][21];
priority_queue <node,vector<node>,greater <node> > q;

void dijkstra(){
    ll u,v,x;
    memset(dis, 127, sizeof(dis));
    nnn=dis[0][0];
    q.push((node){0,1,0});
    dis[1][0]=0;
    while(!q.empty()){
        u=q.top().b,x=q.top().c,q.pop();
        if(vis[u][x]) continue;
        vis[u][x]=1;
        for(int i=head[u];i^-1;i=nxt[i]){
            v=to[i];
            if(dis[v][x]>dis[u][x]+val[i]){
                dis[v][x]=dis[u][x] + val[i];
                q.push((node){dis[v][x], v, x});
            }
            if(x+1<=k&&dis[v][x+1]>dis[u][x]){
                dis[v][x+1]=dis[u][x];
                q.push((node){dis[v][x + 1], v, x + 1});
            }
        }
    }
}

int main(){
    ll x,y,z,t;
    scanf("%lld",&t);
    while(t--){
        memset(dis,0,sizeof dis);
        memset(to,0,sizeof to);
        memset(nxt,0,sizeof nxt);
        memset(vis,false,sizeof vis);
        scanf("%lld %lld %lld",&n,&m,&k);
        memset(head, -1, sizeof(head));
        for(int i=1;i<=m;i++){
            scanf("%lld %lld %lld",&x,&y,&z);
            add(x, y, z);
        }
        dijkstra();
        printf("%lld\n",dis[n][k]==nnn?0:dis[n][k]);
    }
    return 0;
}
/**
I. Skr
链接:https://nanti.jisuanke.com/t/30998
题意:计算字符串中所有回文字串的和.
回文自动机处理出回文串的大小,最后正向反向搜索出本质不同的回文子串进行相加即可。
*/


#include<bits/stdc++.h>
#define ll long long
using namespace std;

const ll mod=1e9+7;
const int maxn=2e6+7;

ll Pow(ll a,ll b){
	ll ans=1;
	while(b){
		if(b&1) ans=ans*a%mod;
		b>>=1;
		a=a*a%mod;
	}
	return ans;
}
namespace PalindromicTree{
	int nxt[maxn][10],fa[maxn],len[maxn],rs[maxn],num[maxn],cnt[maxn],mp[maxn];
    int sz,n,last;

    int newnode(int l){
    	memset(nxt[sz],0,sizeof nxt[0]);
    	len[sz]=l;
    	return sz++;
    }

    void init(){
    	rs[n=sz=0]=-1;
    	last=newnode(0);
    	fa[last]=newnode(-1);
    }

    int get_fa(int x){
    	while(rs[n-1-len[x]]!=rs[n]) x=fa[x];
    	return x;
    }

    void Insert(int ch){
    	rs[++n]=ch;
    	int p=get_fa(last);
    	if(!nxt[p][ch]){
			int np=newnode(len[p]+2);
			fa[np]=nxt[get_fa(fa[p])][ch];
            nxt[p][ch]=np;
    	}
    	last=nxt[p][ch];
    	mp[last]=ch;
    }
}

char s[maxn];
using namespace PalindromicTree;
ll ans;
const ll inv10=Pow(10,mod-2);
ll l[maxn],r[maxn],pp[maxn]={1};

void dfs(int u,int fa){
	for(int i=0;i<10;i++) if(nxt[u][i]) dfs(nxt[u][i],u);
	if(u==0||u==1) return ;
	r[u]+=1;l[u]+=pp[len[u]-1];
	if(len[u]==1) r[u]=0;
	l[u]%=mod,r[u]%=mod;
	ans=(ans+mp[u]*(l[u]+r[u]))%mod;
	l[fa]+=l[u]*inv10%mod;
	r[fa]+=r[u]*10%mod;
}

int main (){
	for(int i=1;i<maxn;i++) pp[i]=pp[i-1]*10%mod;
	PalindromicTree::init();
	scanf("%s",s);int len=strlen(s);
	for(int i=0;i<len;i++) Insert(s[i]-'0');
	dfs(0,-1);
	dfs(1,-1);
	printf("%lld\n",ans);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/hypHuangYanPing/article/details/82314554