K
最编程
2024-01-23 20:35:37
...
https://codeforces.com/gym/101982/attachments
K 打表暴力
/*#include<bits/stdc++.h> using namespace std; map<int,double> dmin,dmax; bool legal(int n){ int a[10]={}; int cur=10; while(n){ int t=n%10; if(t==0||a[t]||t>=cur) return false; cur=t; a[t]++; n/=10; } return true; } int main(){ int cnt=0; freopen("Yinku.out","w",stdout); for(int i=1;i<=123456789;i++){ if(legal(i)){ //calc(i); printf("%d,",i); cnt++; } } cerr<<cnt<<endl; }*/ /*int num[]={1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,23,24,25,26,27,28,29,34,35,36,37,38,39,45,46,47,48,49,56,57,58,59,67,68,69,78,79,89, 123,124,125,126,127,128,129,134,135,136,137,138,139,145,146,147,148,149,156,157,158,159,167,168,169,178,179,189,234,235,236,237,238,239,245, 246,247,248,249,256,257,258,259,267,268,269,278,279,289,345,346,347,348,349,356,357,358,359,367,368,369,378,379,389,456,457,458,459,467,468, 469,478,479,489,567,568,569,578,579,589,678,679,689,789,1234,1235,1236,1237,1238,1239,1245,1246,1247,1248,1249,1256,1257,1258,1259,1267,1268, 1269,1278,1279,1289,1345,1346,1347,1348,1349,1356,1357,1358,1359,1367,1368,1369,1378,1379,1389,1456,1457,1458,1459,1467,1468,1469,1478,1479, 1489,1567,1568,1569,1578,1579,1589,1678,1679,1689,1789,2345,2346,2347,2348,2349,2356,2357,2358,2359,2367,2368,2369,2378,2379,2389,2456,2457, 2458,2459,2467,2468,2469,2478,2479,2489,2567,2568,2569,2578,2579,2589,2678,2679,2689,2789,3456,3457,3458,3459,3467,3468,3469,3478,3479,3489, 3567,3568,3569,3578,3579,3589,3678,3679,3689,3789,4567,4568,4569,4578,4579,4589,4678,4679,4689,4789,5678,5679,5689,5789,6789,12345,12346,12347, 12348,12349,12356,12357,12358,12359,12367,12368,12369,12378,12379,12389,12456,12457,12458,12459,12467,12468,12469,12478,12479,12489,12567,12568, 12569,12578,12579,12589,12678,12679,12689,12789,13456,13457,13458,13459,13467,13468,13469,13478,13479,13489,13567,13568,13569,13578,13579,13589, 13678,13679,13689,13789,14567,14568,14569,14578,14579,14589,14678,14679,14689,14789,15678,15679,15689,15789,16789,23456,23457,23458,23459,23467, 23468,23469,23478,23479,23489,23567,23568,23569,23578,23579,23589,23678,23679,23689,23789,24567,24568,24569,24578,24579,24589,24678,24679,24689, 24789,25678,25679,25689,25789,26789,34567,34568,34569,34578,34579,34589,34678,34679,34689,34789,35678,35679,35689,35789,36789,45678,45679,45689, 45789,46789,56789,123456,123457,123458,123459,123467,123468,123469,123478,123479,123489,123567,123568,123569,123578,123579,123589,123678,123679, 123689,123789,124567,124568,124569,124578,124579,124589,124678,124679,124689,124789,125678,125679,125689,125789,126789,134567,134568,134569, 134578,134579,134589,134678,134679,134689,134789,135678,135679,135689,135789,136789,145678,145679,145689,145789,146789,156789,234567,234568, 234569,234578,234579,234589,234678,234679,234689,234789,235678,235679,235689,235789,236789,245678,245679,245689,245789,246789,256789,345678, 345679,345689,345789,346789,356789,456789,1234567,1234568,1234569,1234578,1234579,1234589,1234678,1234679,1234689,1234789,1235678,1235679, 1235689,1235789,1236789,1245678,1245679,1245689,1245789,1246789,1256789,1345678,1345679,1345689,1345789,1346789,1356789,1456789,2345678,2345679, 2345689,2345789,2346789,2356789,2456789,3456789,12345678,12345679,12345689,12345789,12346789,12356789,12456789,13456789,23456789,123456789}; double p[13]; map<int,double> dmin,dmax; int link(vector<int> s,int ex1,int ex2=-1,int ex3=-1,int ex4=-1){ int ans=0; int n=s.size(); for(int i=0;i<n;i++){ if(i==ex1||i==ex2||i==ex3||i==ex4) continue; else{ ans*=10; ans+=s[i]; } } return ans; } vector<int> findnextstate(int state,int sum){ vector<int>ans; //cout<<"state="<<state<<" has next states:\n "; vector<int> s; while(state){ s.push_back(state%10); state/=10; } reverse(s.begin(),s.end()); int n=s.size(); for(int i=0;i<n;i++){ if(s[i]==sum){ ans.push_back(link(s,i)); break; } } for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(s[i]+s[j]==sum){ ans.push_back(link(s,i,j)); break; } } } for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ for(int k=j+1;k<n;k++){ if(s[i]+s[j]+s[k]==sum){ ans.push_back(link(s,i,j,k)); break; } } } } for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ for(int k=j+1;k<n;k++){ for(int l=k+1;l<n;l++){ if(s[i]+s[j]+s[k]+s[l]==sum){ ans.push_back(link(s,i,j,k,l)); break; } } } } } for(auto i:ans){ cout<<i<<","; } cout<<endl; return ans; } void calc(int state){ double minans=0; double maxans=0; vector<int> ns; for(int sum=2;sum<=12;sum++){ ns=findnextstate(state,sum); if(ns.size()==0){ minans+=p[sum]*state; maxans+=p[sum]*state; } else{ double nmax=-1.0; double nmin=1e30; for(auto nsi:ns){ nmax=max(nmax,dmax[nsi]); nmin=min(nmin,dmin[nsi]); } maxans+=p[sum]*nmax; minans+=p[sum]*nmin; } } dmax[state]=maxans; dmin[state]=minans; cerr<<"state="<<state<<" dmax="<<maxans<<" dmin="<<minans<<endl; printf("dmax[%d]=%.10f;\ndmin[%d]=%.10f;\n",state,maxans,state,minans); cout<<"dmax["<<state<<"]="<<maxans<<";\n"; cout<<"dmin["<<state<<"]="<<minans<<";\n"; } int ntop=511; int main(){ freopen("Yinku.out","w",stdout); for(int sum=2;sum<=7;sum++){ p[sum]=1.0*(sum-1)/36; } for(int sum=8;sum<=12;sum++){ p[sum]=1.0*(13-sum)/36; } for(int sum=2;sum<=12;sum++){ cout<<"p["<<sum<<"]="<<p[sum]<<endl; } for(int i=0;i<ntop;i++){ calc(num[i]); } }*/ #include<bits/stdc++.h> using namespace std; map<int,double> dmax,dmin; void init(){ dmax[1]=1.0000000000; dmin[1]=1.0000000000; dmax[2]=1.9444444444; dmin[2]=1.9444444444; dmax[3]=2.8333333333; dmin[3]=2.8333333333; dmax[4]=3.6666666667; dmin[4]=3.6666666667; dmax[5]=4.4444444444; dmin[5]=4.4444444444; dmax[6]=5.1666666667; dmin[6]=5.1666666667; dmax[7]=5.8333333333; dmin[7]=5.8333333333; dmax[8]=6.8888888889; dmin[8]=6.8888888889; dmax[9]=8.0000000000; dmin[9]=8.0000000000; dmax[12]=11.0277777778; dmin[12]=11.0277777778; dmax[13]=11.2500000000; dmin[13]=11.2500000000; dmax[14]=11.3611111111; dmin[14]=11.3611111111; dmax[15]=11.3611111111; dmin[15]=11.3611111111; dmax[16]=11.2500000000; dmin[16]=11.2500000000; dmax[17]=11.9722222222; dmin[17]=11.9722222222; dmax[18]=13.6388888889; dmin[18]=13.6388888889; dmax[19]=15.4166666667; dmin[19]=15.4166666667; dmax[23]=18.7145061728; dmin[23]=18.7145061728; dmax[24]=18.2638888889; dmin[24]=18.2638888889; dmax[25]=17.7006172840; dmin[25]=17.7006172840; dmax[26]=18.4691358025; dmin[26]=18.4691358025; dmax[27]=19.2361111111; dmin[27]=19.2361111111; dmax[28]=21.4614197531; dmin[28]=21.4614197531; dmax[29]=23.7993827160; dmin[29]=23.7993827160; dmax[34]=24.0509259259; dmin[34]=24.0509259259; dmax[35]=24.8672839506; dmin[35]=24.8672839506; dmax[36]=25.6805555556; dmin[36]=25.6805555556; dmax[37]=26.4907407407; dmin[37]=26.4907407407; dmax[38]=29.2762345679; dmin[38]=29.2762345679; dmax[39]=32.1759259259; dmin[39]=32.1759259259; dmax[45]=32.0277777778; dmin[45]=32.0277777778; dmax[46]=32.8842592593; dmin[46]=32.8842592593; dmax[47]=33.7361111111; dmin[47]=33.7361111111; dmax[48]=37.0833333333; dmin[48]=37.0833333333; dmax[49]=40.5462962963; dmin[49]=40.5462962963; dmax[56]=40.0802469136; dmin[56]=40.0802469136; dmax[57]=40.9722222222; dmin[57]=40.9722222222; dmax[58]=44.8827160494; dmin[58]=44.8827160494; dmax[59]=47.2716049383; dmin[59]=47.2716049383; dmax[67]=48.1990740741; dmin[67]=48.1990740741; dmax[68]=50.7854938272; dmin[68]=50.7854938272; dmax[69]=53.4351851852; dmin[69]=53.4351851852; dmax[78]=56.1250000000; dmin[78]=56.1250000000; dmax[79]=59.0370370370; dmin[79]=59.0370370370; dmax[89]=68.6265432099; dmin[89]=68.6265432099; dmax[123]=72.9483024691; dmin[123]=72.4930555556; dmax[124]=53.4598765432; dmin[124]=53.4598765432; dmax[125]=47.3634259259; dmin[125]=47.3634259259; dmax[126]=48.0941358025; dmin[126]=48.0941358025; dmax[127]=55.7924382716; dmin[127]=55.7924382716; dmax[128]=70.1481481481; dmin[128]=70.1481481481; dmax[129]=84.7322530864; dmin[129]=84.7322530864; dmax[134]=61.6057098765; dmin[134]=60.9737654321; dmax[135]=51.5339506173; dmin[135]=51.5339506173; dmax[136]=52.3125000000; dmin[136]=52.3125000000; dmax[137]=60.5864197531; dmin[137]=60.5864197531; dmax[138]=76.0979938272; dmin[138]=76.0979938272; dmax[139]=91.8425925926; dmin[139]=91.8425925926; dmax[145]=71.3016975309; dmin[145]=70.5331790123; dmax[146]=56.5061728395; dmin[146]=56.5061728395; dmax[147]=65.3541666667; dmin[147]=65.3541666667; dmax[148]=82.0262345679; dmin[148]=82.0262345679; dmax[149]=94.7970679012; dmin[149]=94.7970679012; dmax[156]=81.6242283951; dmin[156]=80.7638888889; dmax[157]=70.0956790123; dmin[157]=70.0956790123; dmax[158]=83.5439814815; dmin[158]=83.5439814815; dmax[159]=92.7901234568; dmin[159]=92.7901234568; dmax[167]=97.0331790123; dmin[167]=96.1304012346; dmax[168]=79.8456790123; dmin[168]=79.8456790123; dmax[169]=89.6550925926; dmin[169]=89.6550925926; dmax[178]=108.4174382716; dmin[178]=107.7114197531; dmax[179]=94.9969135802; dmin[179]=94.9969135802; dmax[189]=130.2307098765; dmin[189]=129.6041666667; dmax[234]=75.8672839506; dmin[234]=75.8672839506; dmax[235]=102.4124657064; dmin[235]=100.8269032922; dmax[236]=90.7445130316; dmin[236]=90.7445130316; dmax[237]=104.7986111111; dmin[237]=104.7986111111; dmax[238]=131.3254458162; dmin[238]=131.3254458162; dmax[239]=151.4512174211; dmin[239]=151.4512174211; dmax[245]=80.6995884774; dmin[245]=80.6995884774; dmax[246]=128.6604938272; dmin[246]=126.8414351852; dmax[247]=109.8263888889; dmin[247]=109.8263888889; dmax[248]=130.6715534979; dmin[248]=130.6715534979; dmax[249]=151.7037037037; dmin[249]=151.7037037037; dmax[256]=99.6547496571; dmin[256]=99.6547496571; dmax[257]=149.5511831276; dmin[257]=147.5733024691; dmax[258]=129.4416152263; dmin[258]=129.4416152263; dmax[259]=144.1989026063; dmin[259]=144.1989026063; dmax[267]=119.7229938272; dmin[267]=119.7229938272; dmax[268]=171.1649519890; dmin[268]=169.5565843621; dmax[269]=150.2122770919; dmin[269]=150.2122770919; dmax[278]=140.3369341564; dmin[278]=140.3369341564; dmax[279]=186.3179012346; dmin[279]=185.0694444444; dmax[289]=177.2290809328; dmin[289]=177.2290809328; dmax[345]=113.5054012346; dmin[345]=113.5054012346; dmax[346]=133.7564300412; dmin[346]=133.7564300412; dmax[347]=201.3310185185; dmin[347]=198.2947530864; dmax[348]=173.6041666667; dmin[348]=173.6041666667; dmax[349]=202.9302983539; dmin[349]=202.9302983539; dmax[356]=148.3471364883; dmin[356]=148.3471364883; dmax[357]=159.3734567901; dmin[357]=159.3734567901; dmax[358]=238.1693244170; dmin[358]=235.6723251029; dmax[359]=209.6433470508; dmin[359]=209.6433470508; dmax[367]=174.8269032922; dmin[367]=174.8269032922; dmax[368]=195.5067729767; dmin[368]=195.5067729767; dmax[369]=256.4344135802; dmin[369]=254.4699074074; dmax[378]=201.5748456790; dmin[378]=201.5748456790; dmax[379]=222.9701646091; dmin[379]=222.9701646091; dmax[389]=249.8924039781; dmin[389]=249.8924039781; dmax[456]=202.5902777778; dmin[456]=202.5902777778; dmax[457]=216.6087962963; dmin[457]=216.6087962963; dmax[458]=254.9200102881; dmin[458]=254.9200102881; dmax[459]=330.7530864198; dmin[459]=328.0833333333; dmax[467]=235.4837962963; dmin[467]=235.4837962963; dmax[468]=261.6674382716; dmin[468]=261.6674382716; dmax[469]=287.9881687243; dmin[469]=287.9881687243; dmax[478]=268.3657407407; dmin[478]=268.3657407407; dmax[479]=295.2870370370; dmin[479]=295.2870370370; dmax[489]=328.1095679012; dmin[489]=328.1095679012; dmax[567]=301.6936728395; dmin[567]=301.6936728395; dmax[568]=333.3815157750; dmin[568]=333.3815157750; dmax[569]=349.3172153635; dmin[569]=349.3172153635; dmax[578]=340.7096193416; dmin[578]=340.7096193416; dmax[579]=356.9629629630; dmin[579]=356.9629629630; dmax[589]=395.4831961591; dmin[589]=395.4831961591; dmax[678]=399.6203703704; dmin[678]=399.6203703704; dmax[679]=418.5442386831; dmin[679]=418.5442386831; dmax[689]=443.6514060357; dmin[689]=443.6514060357; dmax[789]=486.1234567901; dmin[789]=486.1234567901; dmax[1234]=119.4546467764; dmin[1234]=110.0102023320; dmax[1235]=54.2540294925; dmin[1235]=43.0411522634; dmax[1236]=23.1703103567; dmin[1236]=11.6005015432; dmax[1237]=25.5880486968; dmin[1237]=23.2014317558; dmax[1238]=230.4202246228; dmin[1238]=227.6310871056; dmax[1239]=401.2454561043; dmin[1239]=398.0474537037; dmax[1245]=20.0291923868; dmin[1245]=13.9230967078; dmax[1246]=22.9655778464; dmin[1246]=14.9202246228; dmax[1247]=25.8203446502; dmin[1247]=17.8825874486; dmax[1248]=26.5225051440; dmin[1248]=26.5225051440; dmax[1249]=199.7329818244; dmin[1249]=199.7329818244; dmax[1256]=231.4379286694; dmin[1256]=225.4654921125; dmax[1257]=199.9688786008; dmin[1257]=192.4221107682; dmax[1258]=167.3787294239; dmin[1258]=161.7572659465; dmax[1259]=134.0133744856; dmin[1259]=134.0133744856; dmax[1267]=377.3278892318; dmin[1267]=370.9889403292; dmax[1268]=310.0932355967; dmin[1268]=304.0210905350; dmax[1269]=277.7365826475; dmin[1269]=273.2816786694; dmax[1278]=490.5290637860; dmin[1278]=484.6957304527; dmax[1279]=458.3088134431; dmin[1279]=452.8862740055; dmax[1289]=674.2302383402; dmin[1289]=668.2459705075; dmax[1345]=135.5098593964; dmin[1345]=127.9563614540; dmax[1346]=100.7694615912; dmin[1346]=96.2972393690; dmax[1347]=401.0482253086; dmin[1347]=387.5869341564; dmax[1348]=365.5969221536; dmin[1348]=354.5354938272; dmax[1349]=329.1183984911; dmin[1349]=324.7734910837; dmax[1356]=66.5548268176; dmin[1356]=62.2280092593; dmax[1357]=69.6111968450; dmin[1357]=67.8202160494; dmax[1358]=408.8004115226; dmin[1358]=401.5396090535; dmax[1359]=373.7729766804; dmin[1359]=368.9358710562; dmax[1367]=260.4957133059; dmin[1367]=255.6905435528; dmax[1368]=225.5781464335; dmin[1368]=224.2401834705; dmax[1369]=492.1507201646; dmin[1369]=486.5778034979; dmax[1378]=419.4829818244; dmin[1378]=414.8127143347; dmax[1379]=422.7452846365; dmin[1379]=421.8224451303; dmax[1389]=655.1735253772; dmin[1389]=650.1018518519; dmax[1456]=354.8067986968; dmin[1456]=346.6737825789; dmax[1457]=158.3001543210; dmin[1457]=155.2708333333; dmax[1458]=上一篇: 算24点
下一篇: 挑战洛谷P1236,轻松玩转24点!
推荐阅读
-
机器学习--模型评估和调整--K 倍交叉验证
-
如何判断您购买的域名是否已被 K?
-
使用 kubekey 更新 K8S 证书
-
互联网快报:韵达快递 "韵重货 "上线;北极星多款产品获用户好评;海信发布国内首款完全自主研发的8K AI画质芯片
-
产品分析 | 面向 K12 在线教育的猿辅导
-
最终组合:基于 K8s 1.24 Hekiti 实现 GlusterFS 动态存储管理实践
-
知识图谱的常用评估指标:MRR、MR、HITS@K、Recall@K、Precision@K
-
世界上最长的开源大模型!元大象开源 XVERSE-Long-256K!(Magic Hitch 社区中推理微调的最佳实践)。
-
4k 分辨率是多少
-
在海量数据中查找前 k 个大数(topk 问题),一篇教你如何在海量数据中查找前 k 个大数的文章