80 记忆化加二分,最后一排wa了
查看原帖
80 记忆化加二分,最后一排wa了
352426
就决定是你辣楼主2022/7/12 14:56
#include<bits/stdc++.h>
using namespace std;
unsigned long long dao(unsigned long long a){
	unsigned long long c=0ll;
	unsigned long long d[18],len=0,cnt=1;
	while(a>0){
		d[len]=a%10;
		a/=10;
		len++;
	}
	for(int i=len-1;i>=0;i--){
		c+=d[i]*cnt;
		cnt*=10;
	}
	return c;
}
unsigned long long f[6005]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,29,39,49,59,69,79,89,99,
101,102,103,104,105,106,107,108,109,119,129,139,149,159,169,179,189,199,299,399,499,599,699,799,899,999,
1001,1002,1003,1004,1005,1006,1007,1008,1009,1019,1029,1039,1049,1059,1069,1079,1089,1099,1199,1299,1399,1499,1599,1699,1799,1899,1999,2999,3999,4999,5999,6999,7999,8999,9999,
10001,10002,10003,10004,10005,10006,10007,10008,10009,10019,10029,10039,10049,10059,10069,10079,10089,10099,10199,10299,10399,10499,10599,10699,10799,10899,10999,11999,12999,13999,14999,15999,16999,17999,18999,19999,29999,39999,49999,59999,69999,79999,89999,99999,
100001,100002,100003,100004,100005,100006,100007,100008,100009,100019,100029,100039,100049,100059,100069,100079,100089,100099,100199,100299,100399,100499,100599,100699,100799,100899,100999,101999,102999,103999,104999,105999,106999,107999,108999,109999,119999,129999,139999,149999,159999,169999,179999,189999,199999,299999,399999,499999,599999,699999,799999,899999,999999,
1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000019,1000029,1000039,1000049,1000059,1000069,1000079,1000089,1000099,1000199,1000299,1000399,1000499,1000599,1000699,1000799,1000899,1000999,1001999,1002999,1003999,1004999,1005999,1006999,1007999,1008999,1009999,1019999,1029999,1039999,1049999,1059999,1069999,1079999,1089999,1099999,1199999,1299999,1399999,1499999,1599999,1699999,1799999,1899999,1999999,2999999,3999999,4999999,5999999,6999999,7999999,8999999,9999999,
10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000019,10000029,10000039,10000049,10000059,10000069,10000079,10000089,10000099,10000199,10000299,10000399,10000499,10000599,10000699,10000799,10000899,10000999,10001999,10002999,10003999,10004999,10005999,10006999,10007999,10008999,10009999,10019999,10029999,10039999,10049999,10059999,10069999,10079999,10089999,10099999,10199999,10299999,10399999,10499999,10599999,10699999,10799999,10899999,10999999,11999999,12999999,13999999,14999999,15999999,16999999,17999999,18999999,19999999,29999999,39999999,49999999,59999999,69999999,79999999,89999999,99999999,
100000001,100000002,100000003,100000004,100000005,100000006,100000007,100000008,100000009,100000019,100000029,100000039,100000049,100000059,100000069,100000079,100000089,100000099,100000199,100000299,100000399,100000499,100000599,100000699,100000799,100000899,100000999,100001999,100002999,100003999,100004999,100005999,100006999,100007999,100008999,100009999,100019999,100029999,100039999,100049999,100059999,100069999,100079999,100089999,100099999,100199999,100299999,100399999,100499999,100599999,100699999,100799999,100899999,100999999,101999999,102999999,103999999,104999999,105999999,106999999,107999999,108999999,109999999,119999999,129999999,139999999,149999999,159999999,169999999,179999999,189999999,199999999,299999999,399999999,499999999,599999999,699999999,799999999,899999999,999999999,
1000000001,1000000002,1000000003,1000000004,1000000005,1000000006,1000000007,1000000008,1000000009,1000000019,1000000029,1000000039,1000000049,1000000059,1000000069,1000000079,1000000089,1000000099,1000000199,1000000299,1000000399,1000000499,1000000599,1000000699,1000000799,1000000899,1000000999,1000001999,1000002999,1000003999,1000004999,1000005999,1000006999,1000007999,1000008999,1000009999,1000019999,1000029999,1000039999,1000049999,1000059999,1000069999,1000079999,1000089999,1000099999,1000199999,1000299999,1000399999,1000499999,1000599999,1000699999,1000799999,1000899999,1000999999,1001999999,1002999999,1003999999,1004999999,1005999999,1006999999,1007999999,1008999999,1009999999,1019999999,1029999999,1039999999,1049999999,1059999999,1069999999,1079999999,1089999999,1099999999,1199999999,1299999999,1399999999,1499999999,1599999999,1699999999,1799999999,1899999999,1999999999,2999999999,3999999999,4999999999,5999999999,6999999999,7999999999,8999999999,9999999999,
10000000001,10000000002,10000000003,10000000004,10000000005,10000000006,10000000007,10000000008,10000000009,10000000019,10000000029,10000000039,10000000049,10000000059,10000000069,10000000079,10000000089,10000000099,10000000199,10000000299,10000000399,10000000499,10000000599,10000000699,10000000799,10000000899,10000000999,10000001999,10000002999,10000003999,10000004999,10000005999,10000006999,10000007999,10000008999,10000009999,10000019999,10000029999,10000039999,10000049999,10000059999,10000069999,10000079999,10000089999,10000099999,10000199999,10000299999,10000399999,10000499999,10000599999,10000699999,10000799999,10000899999,10000999999,10001999999,10002999999,10003999999,10004999999,10005999999,10006999999,10007999999,10008999999,10009999999,10019999999,10029999999,10039999999,10049999999,10059999999,10069999999,10079999999,10089999999,10099999999,10199999999,10299999999,10399999999,10499999999,10599999999,10699999999,10799999999,10899999999,10999999999,11999999999,12999999999,13999999999,14999999999,15999999999,16999999999,17999999999,18999999999,19999999999,29999999999,39999999999,49999999999,59999999999,69999999999,79999999999,89999999999,99999999999,
100000000001,100000000002,100000000003,100000000004,100000000005,100000000006,100000000007,100000000008,100000000009,100000000019,100000000029,100000000039,100000000049,100000000059,100000000069,100000000079,100000000089,100000000099,100000000199,100000000299,100000000399,100000000499,100000000599,100000000699,100000000799,100000000899,100000000999,100000001999,100000002999,100000003999,100000004999,100000005999,100000006999,100000007999,100000008999,100000009999,100000019999,100000029999,100000039999,100000049999,100000059999,100000069999,100000079999,100000089999,100000099999,100000199999,100000299999,100000399999,100000499999,100000599999,100000699999,100000799999,100000899999,100000999999,100001999999,100002999999,100003999999,100004999999,100005999999,100006999999,100007999999,100008999999,100009999999,100019999999,100029999999,100039999999,100049999999,100059999999,100069999999,100079999999,100089999999,100099999999,100199999999,100299999999,100399999999,100499999999,100599999999,100699999999,100799999999,100899999999,100999999999,101999999999,102999999999,103999999999,104999999999,105999999999,106999999999,107999999999,108999999999,109999999999,119999999999,129999999999,139999999999,149999999999,159999999999,169999999999,179999999999,189999999999,199999999999,299999999999,399999999999,499999999999,599999999999,699999999999,799999999999,899999999999,999999999999,
1000000000001,1000000000002,1000000000003,1000000000004,1000000000005,1000000000006,1000000000007,1000000000008,1000000000009,1000000000019,1000000000029,1000000000039,1000000000049,1000000000059,1000000000069,1000000000079,1000000000089,1000000000099,1000000000199,1000000000299,1000000000399,1000000000499,1000000000599,1000000000699,1000000000799,1000000000899,1000000000999,1000000001999,1000000002999,1000000003999,1000000004999,1000000005999,1000000006999,1000000007999,1000000008999,1000000009999,1000000019999,1000000029999,1000000039999,1000000049999,1000000059999,1000000069999,1000000079999,1000000089999,1000000099999,1000000199999,1000000299999,1000000399999,1000000499999,1000000599999,1000000699999,1000000799999,1000000899999,1000000999999,1000001999999,1000002999999,1000003999999,1000004999999,1000005999999,1000006999999,1000007999999,1000008999999,1000009999999,1000019999999,1000029999999,1000039999999,1000049999999,1000059999999,1000069999999,1000079999999,1000089999999,1000099999999,1000199999999,1000299999999,1000399999999,1000499999999,1000599999999,1000699999999,1000799999999,1000899999999,1000999999999,1001999999999,1002999999999,1003999999999,1004999999999,1005999999999,1006999999999,1007999999999,1008999999999,1009999999999,1019999999999,1029999999999,1039999999999,1049999999999,1059999999999,1069999999999,1079999999999,1089999999999,1099999999999,1199999999999,1299999999999,1399999999999,1499999999999,1599999999999,1699999999999,1799999999999,1899999999999,1999999999999,2999999999999,3999999999999,4999999999999,5999999999999,6999999999999,7999999999999,8999999999999,9999999999999,
10000000000001,10000000000002,10000000000003,10000000000004,10000000000005,10000000000006,10000000000007,10000000000008,10000000000009,10000000000019,10000000000029,10000000000039,10000000000049,10000000000059,10000000000069,10000000000079,10000000000089,10000000000099,10000000000199,10000000000299,10000000000399,10000000000499,10000000000599,10000000000699,10000000000799,10000000000899,10000000000999,10000000001999,10000000002999,10000000003999,10000000004999,10000000005999,10000000006999,10000000007999,10000000008999,10000000009999,10000000019999,10000000029999,10000000039999,10000000049999,10000000059999,10000000069999,10000000079999,10000000089999,10000000099999,10000000199999,10000000299999,10000000399999,10000000499999,10000000599999,10000000699999,10000000799999,10000000899999,10000000999999,10000001999999,10000002999999,10000003999999,10000004999999,10000005999999,10000006999999,10000007999999,10000008999999,10000009999999,10000019999999,10000029999999,10000039999999,10000049999999,10000059999999,10000069999999,10000079999999,10000089999999,10000099999999,10000199999999,10000299999999,10000399999999,10000499999999,10000599999999,10000699999999,10000799999999,10000899999999,10000999999999,10001999999999,10002999999999,10003999999999,10004999999999,10005999999999,10006999999999,10007999999999,10008999999999,10009999999999,10019999999999,10029999999999,10039999999999,10049999999999,10059999999999,10069999999999,10079999999999,10089999999999,10099999999999,10199999999999,10299999999999,10399999999999,10499999999999,10599999999999,10699999999999,10799999999999,10899999999999,10999999999999,11999999999999,12999999999999,13999999999999,14999999999999,15999999999999,16999999999999,17999999999999,18999999999999,19999999999999,29999999999999,39999999999999,49999999999999,59999999999999,69999999999999,79999999999999,89999999999999,99999999999999,
100000000000001,100000000000002,100000000000003,100000000000004,100000000000005,100000000000006,100000000000007,100000000000008,100000000000009,100000000000019,100000000000029,100000000000039,100000000000049,100000000000059,100000000000069,100000000000079,100000000000089,100000000000099,100000000000199,100000000000299,100000000000399,100000000000499,100000000000599,100000000000699,100000000000799,100000000000899,100000000000999,100000000001999,100000000002999,100000000003999,100000000004999,100000000005999,100000000006999,100000000007999,100000000008999,100000000009999,100000000019999,100000000029999,100000000039999,100000000049999,100000000059999,100000000069999,100000000079999,100000000089999,100000000099999,100000000199999,100000000299999,100000000399999,100000000499999,100000000599999,100000000699999,100000000799999,100000000899999,100000000999999,100000001999999,100000002999999,100000003999999,100000004999999,100000005999999,100000006999999,100000007999999,100000008999999,100000009999999,100000019999999,100000029999999,100000039999999,100000049999999,100000059999999,100000069999999,100000079999999,100000089999999,100000099999999,100000199999999,100000299999999,100000399999999,100000499999999,100000599999999,100000699999999,100000799999999,100000899999999,100000999999999,100001999999999,100002999999999,100003999999999,100004999999999,100005999999999,100006999999999,100007999999999,100008999999999,100009999999999,100019999999999,100029999999999,100039999999999,100049999999999,100059999999999,100069999999999,100079999999999,100089999999999,100099999999999,100199999999999,100299999999999,100399999999999,100499999999999,100599999999999,100699999999999,100799999999999,100899999999999,100999999999999,101999999999999,102999999999999,103999999999999,104999999999999,105999999999999,106999999999999,107999999999999,108999999999999,109999999999999,119999999999999,129999999999999,139999999999999,149999999999999,159999999999999,169999999999999,179999999999999,189999999999999,199999999999999,299999999999999,399999999999999,499999999999999,599999999999999,699999999999999,799999999999999,899999999999999,999999999999999,
1000000000000001,1000000000000002,1000000000000003,1000000000000004,1000000000000005,1000000000000006,1000000000000007,1000000000000008,1000000000000009,1000000000000019,1000000000000029,1000000000000039,1000000000000049,1000000000000059,1000000000000069,1000000000000079,1000000000000089,1000000000000099,1000000000000199,1000000000000299,1000000000000399,1000000000000499,1000000000000599,1000000000000699,1000000000000799,1000000000000899,1000000000000999,1000000000001999,1000000000002999,1000000000003999,1000000000004999,1000000000005999,1000000000006999,1000000000007999,1000000000008999,1000000000009999,1000000000019999,1000000000029999,1000000000039999,1000000000049999,1000000000059999,1000000000069999,1000000000079999,1000000000089999,1000000000099999,1000000000199999,1000000000299999,1000000000399999,1000000000499999,1000000000599999,1000000000699999,1000000000799999,1000000000899999,1000000000999999,1000000001999999,1000000002999999,1000000003999999,1000000004999999,1000000005999999,1000000006999999,1000000007999999,1000000008999999,1000000009999999,1000000019999999,1000000029999999,1000000039999999,1000000049999999,1000000059999999,1000000069999999,1000000079999999,1000000089999999,1000000099999999,1000000199999999,1000000299999999,1000000399999999,1000000499999999,1000000599999999,1000000699999999,1000000799999999,1000000899999999,1000000999999999,1000001999999999,1000002999999999,1000003999999999,1000004999999999,1000005999999999,1000006999999999,1000007999999999,1000008999999999,1000009999999999,1000019999999999,1000029999999999,1000039999999999,1000049999999999,1000059999999999,1000069999999999,1000079999999999,1000089999999999,1000099999999999,1000199999999999,1000299999999999,1000399999999999,1000499999999999,1000599999999999,1000699999999999,1000799999999999,1000899999999999,1000999999999999,1001999999999999,1002999999999999,1003999999999999,1004999999999999,1005999999999999,1006999999999999,1007999999999999,1008999999999999,1009999999999999,1019999999999999,1029999999999999,1039999999999999,1049999999999999,1059999999999999,1069999999999999,1079999999999999,1089999999999999,1099999999999999,1199999999999999,1299999999999999,1399999999999999,1499999999999999,1599999999999999,1699999999999999,1799999999999999,1899999999999999,1999999999999999,2999999999999999,3999999999999999,4999999999999999,5999999999999999,6999999999999999,7999999999999999,8999999999999999,9999999999999999,
10000000000000001,10000000000000002,10000000000000003,10000000000000004,10000000000000005,10000000000000006,10000000000000007,10000000000000008,10000000000000009,10000000000000019,10000000000000029,10000000000000039,10000000000000049,10000000000000059,10000000000000069,10000000000000079,10000000000000089,10000000000000099,10000000000000199,10000000000000299,10000000000000399,10000000000000499,10000000000000599,10000000000000699,10000000000000799,10000000000000899,10000000000000999,10000000000001999,10000000000002999,10000000000003999,10000000000004999,10000000000005999,10000000000006999,10000000000007999,10000000000008999,10000000000009999,10000000000019999,10000000000029999,10000000000039999,10000000000049999,10000000000059999,10000000000069999,10000000000079999,10000000000089999,10000000000099999,10000000000199999,10000000000299999,10000000000399999,10000000000499999,10000000000599999,10000000000699999,10000000000799999,10000000000899999,10000000000999999,10000000001999999,10000000002999999,10000000003999999,10000000004999999,10000000005999999,10000000006999999,10000000007999999,10000000008999999,10000000009999999,10000000019999999,10000000029999999,10000000039999999,10000000049999999,10000000059999999,10000000069999999,10000000079999999,10000000089999999,10000000099999999,10000000199999999,10000000299999999,10000000399999999,10000000499999999,10000000599999999,10000000699999999,10000000799999999,10000000899999999,10000000999999999,10000001999999999,10000002999999999,10000003999999999,10000004999999999,10000005999999999,10000006999999999,10000007999999999,10000008999999999,10000009999999999,10000019999999999,10000029999999999,10000039999999999,10000049999999999,10000059999999999,10000069999999999,10000079999999999,10000089999999999,10000099999999999,10000199999999999,10000299999999999,10000399999999999,10000499999999999,10000599999999999,10000699999999999,10000799999999999,10000899999999999,10000999999999999,10001999999999999,10002999999999999,10003999999999999,10004999999999999,10005999999999999,10006999999999999,10007999999999999,10008999999999999,10009999999999999,10019999999999999,10029999999999999,10039999999999999,10049999999999999,10059999999999999,10069999999999999,10079999999999999,10089999999999999,10099999999999999,10199999999999999,10299999999999999,10399999999999999,10499999999999999,10599999999999999,10699999999999999,10799999999999999,10899999999999999,10999999999999999,11999999999999999,12999999999999999,13999999999999999,14999999999999999,15999999999999999,16999999999999999,17999999999999999,18999999999999999,19999999999999999,29999999999999999,39999999999999999,49999999999999999,59999999999999999,69999999999999999,79999999999999999,89999999999999999,99999999999999999,
100000000000000001,100000000000000002,100000000000000003,100000000000000004,100000000000000005,100000000000000006,100000000000000007,100000000000000008,100000000000000009,100000000000000019,100000000000000029,100000000000000039,100000000000000049,100000000000000059,100000000000000069,100000000000000079,100000000000000089,100000000000000099,100000000000000199,100000000000000299,100000000000000399,100000000000000499,100000000000000599,100000000000000699,100000000000000799,100000000000000899,100000000000000999,100000000000001999,100000000000002999,100000000000003999,100000000000004999,100000000000005999,100000000000006999,100000000000007999,100000000000008999,100000000000009999,100000000000019999,100000000000029999,100000000000039999,100000000000049999,100000000000059999,100000000000069999,100000000000079999,100000000000089999,100000000000099999,100000000000199999,100000000000299999,100000000000399999,100000000000499999,100000000000599999,100000000000699999,100000000000799999,100000000000899999,100000000000999999,100000000001999999,100000000002999999,100000000003999999,100000000004999999,100000000005999999,100000000006999999,100000000007999999,100000000008999999,100000000009999999,100000000019999999,100000000029999999,100000000039999999,100000000049999999,100000000059999999,100000000069999999,100000000079999999,100000000089999999,100000000099999999,100000000199999999,100000000299999999,100000000399999999,100000000499999999,100000000599999999,100000000699999999,100000000799999999,100000000899999999,100000000999999999,100000001999999999,100000002999999999,100000003999999999,100000004999999999,100000005999999999,100000006999999999,100000007999999999,100000008999999999,100000009999999999,100000019999999999,100000029999999999,100000039999999999,100000049999999999,100000059999999999,100000069999999999,100000079999999999,100000089999999999,100000099999999999,100000199999999999,100000299999999999,100000399999999999,100000499999999999,100000599999999999,100000699999999999,100000799999999999,100000899999999999,100000999999999999,100001999999999999,100002999999999999,100003999999999999,100004999999999999,100005999999999999,100006999999999999,100007999999999999,100008999999999999,100009999999999999,100019999999999999,100029999999999999,100039999999999999,100049999999999999,100059999999999999,100069999999999999,100079999999999999,100089999999999999,100099999999999999,100199999999999999,100299999999999999,100399999999999999,100499999999999999,100599999999999999,100699999999999999,100799999999999999,100899999999999999,100999999999999999,101999999999999999,102999999999999999,103999999999999999,104999999999999999,105999999999999999,106999999999999999,107999999999999999,108999999999999999,109999999999999999,119999999999999999,129999999999999999,139999999999999999,149999999999999999,159999999999999999,169999999999999999,179999999999999999,189999999999999999,199999999999999999,299999999999999999,399999999999999999,499999999999999999,599999999999999999,699999999999999999,799999999999999999,899999999999999999,999999999999999999,
1000000000000000001,1000000000000000002,1000000000000000003,1000000000000000004,1000000000000000005,1000000000000000006,1000000000000000007,1000000000000000008,1000000000000000009,1000000000000000019,1000000000000000029,1000000000000000039,1000000000000000049,1000000000000000059,1000000000000000069,1000000000000000079,1000000000000000089,1000000000000000099,1000000000000000199,1000000000000000299,1000000000000000399,1000000000000000499,1000000000000000599,1000000000000000699,1000000000000000799,1000000000000000899,1000000000000000999,1000000000000001999,1000000000000002999,1000000000000003999,1000000000000004999,1000000000000005999,1000000000000006999,1000000000000007999,1000000000000008999,1000000000000009999,1000000000000019999,1000000000000029999,1000000000000039999,1000000000000049999,1000000000000059999,1000000000000069999,1000000000000079999,1000000000000089999,1000000000000099999,1000000000000199999,1000000000000299999,1000000000000399999,1000000000000499999,1000000000000599999,1000000000000699999,1000000000000799999,1000000000000899999,1000000000000999999,1000000000001999999,1000000000002999999,1000000000003999999,1000000000004999999,1000000000005999999,1000000000006999999,1000000000007999999,1000000000008999999,1000000000009999999,1000000000019999999,1000000000029999999,1000000000039999999,1000000000049999999,1000000000059999999,1000000000069999999,1000000000079999999,1000000000089999999,1000000000099999999,1000000000199999999,1000000000299999999,1000000000399999999,1000000000499999999,1000000000599999999,1000000000699999999,1000000000799999999,1000000000899999999,1000000000999999999,1000000001999999999,1000000002999999999,1000000003999999999,1000000004999999999,1000000005999999999,1000000006999999999,1000000007999999999,1000000008999999999,1000000009999999999,1000000019999999999,1000000029999999999,1000000039999999999,1000000049999999999,1000000059999999999,1000000069999999999,1000000079999999999,1000000089999999999,1000000099999999999,1000000199999999999,1000000299999999999,1000000399999999999,1000000499999999999,1000000599999999999,1000000699999999999,1000000799999999999,1000000899999999999,1000000999999999999,1000001999999999999,1000002999999999999,1000003999999999999,1000004999999999999,1000005999999999999,1000006999999999999,1000007999999999999,1000008999999999999,1000009999999999999,1000019999999999999,1000029999999999999,1000039999999999999,1000049999999999999,1000059999999999999,1000069999999999999,1000079999999999999,1000089999999999999,1000099999999999999,1000199999999999999,1000299999999999999,1000399999999999999,1000499999999999999,1000599999999999999,1000699999999999999,1000799999999999999,1000899999999999999,1000999999999999999,1001999999999999999,1002999999999999999,1003999999999999999,1004999999999999999,1005999999999999999,1006999999999999999,1007999999999999999,1008999999999999999,1009999999999999999,1019999999999999999,1029999999999999999,1039999999999999999,1049999999999999999,1059999999999999999,1069999999999999999,1079999999999999999,1089999999999999999,1099999999999999999,1199999999999999999,1299999999999999999,1399999999999999999,1499999999999999999,1599999999999999999,1699999999999999999,1799999999999999999,1899999999999999999,1999999999999999999,2999999999999999999,3999999999999999999,4999999999999999999,5999999999999999999,6999999999999999999,7999999999999999999,8999999999999999999,9999999999999999999};
int main(){
	unsigned long long a[200050];
	//cout<<f[762];
	int n;
	cin>>n;
	
	for(int i=1;i<=n;i++){
		cin>>a[i];
		unsigned long long l=1,r=1790,mid;
		if(a[i]==9999999999999999999){
			cout<<10000000000000000000;
			break;	
		}
		while(l<r){
			mid=(r-l)/2+l;
			if(dao(f[mid])>a[i])r=mid;
			else l=mid+1;
			//while(a[i]==7){
			//cout<<dao(f[mid])<<" "<<a[i]<<endl;
			//cout<<l<<" "<<r<<endl;
			//cout<<mid<<endl;
			//break;
			//}
			
		}
		cout<<f[l]-1<<endl;
	}
}
2022/7/12 14:56
加载中...