正睿 2019 省选附加赛 Day1 T1 考考试
比较奇怪的一个枚举题。
注意到10=2*5,所以10^k的二进制表示一定恰好在末尾有k个0。
考虑从小到大去填这个十进制数。
填的时候记录一下当前的二进制表示。
每次尝试去填0或者10^k。
如果要填下一位的时候发现它的二进制表示已经为1的话,停止扩展。
因为:
如果这一位填0,由于后面填的数末尾的0>k不会影响这一位,无法是其与二进制后缀相同。
如果这一位填1,必然产生进位,同理,也无法与其二进制后缀相同。
考虑这样做的复杂度。
考虑每一个答案。把它扩展出来最多利用了k步中间状态,k为其长度,加上高精度的复杂度,最终复杂度为O(nk^2)。
#include<iostream>
#include<cctype>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<ctime>
#include<cstdlib>
#include<algorithm>
#define N 22000
#define L 2200
#define eps 1e-7
#define inf 1e9+7
#define ll long long
using namespace std;
inline int read()
{
char ch=0;
int x=0,flag=1;
while(!isdigit(ch)){ch=getchar();if(ch=='-')flag=-1;}
while(isdigit(ch)){x=(x<<3)+(x<<1)+ch-'0';ch=getchar();}
return x*flag;
}
struct big
{
int len,a[L];
big()
{
len=1;
memset(a,0,sizeof(a));
}
void print()
{
for(int i=len;i>=1;i--)printf("%d",a[i]);
}
};
big operator+(big a,big b)
{
big ans;
ans.len=max(a.len,b.len);
for(int i=1;i<=ans.len;i++)
{
ans.a[i]+=a.a[i]+b.a[i];
ans.a[i+1]+=(ans.a[i]>>1);
ans.a[i]&=1;
}
if(ans.a[ans.len+1])ans.len++;
return ans;
}
big operator*(big a,int b)
{
big ans=a;
for(int i=1;i<=ans.len;i++)ans.a[i]*=b;
for(int i=1;i<=ans.len;i++)
{
ans.a[i+1]+=ans.a[i]>>1;
ans.a[i]&=1;
}
while(ans.a[ans.len+1])
{
ans.len++;
ans.a[ans.len+1]+=ans.a[ans.len]>>1;
ans.a[ans.len]&=1;
}
return ans;
}
big k,v,q[N],f[N];
int main()
{
int n=read(),i,l=1,r=1,t=1,cnt=0,tot=1;
k.a[1]=v.a[1]=1;q[1].a[1]=0;f[1].a[1]=0;
for(;;l=r+1,r=tot,t++)
{
for(i=l;i<=r;i++)
if(!q[i].a[t])q[++tot]=q[i],f[tot]=f[i];
for(i=l;i<=r;i++)
if(!q[i].a[t])
{
q[++tot]=q[i]+k;f[tot]=f[i]+v,cnt++;
if(cnt==n){f[tot].print();return 0;}
}
v=v*2;k=k*10;
}
return 0;
}
正睿 2019 省选附加赛 Day1 T1 考考试的更多相关文章
- 正睿2019省选附加赛 Day10 (这篇其实已经都咕咕了...)
目录 2019.3.13 A.算算算(二项式定理 斯特林数) B.买买买 C.树树树 2019.3.13 比赛链接 A.算算算(二项式定理 斯特林数) 题目链接 \(x^k\)可以用二项式定理展开,需 ...
- 正睿 2019 省选附加赛 Day10
A 核心就是一个公式 \[\sum_{i = 0}^{k} S(k, i) \tbinom{x}{i} i\] S是第二类斯特林数 递推公式 \(S_2(n,k)=S_2(n−1,k−1)+kS_2( ...
- 正睿十一A班模拟赛day1
估分:25+0+60=85 实际:25+0+60=85 T1: 就只会25的暴力 分治,到一个区间[l,r],cnt[i]表示i这个颜色在区间内的出现次数,从两头同时扫描,扫描到第一个cnt[i]小于 ...
- 【正睿oi省选十连测】第一场
四小时写了两个暴力??自闭 [原来这就是神仙们的分量Orz rank 56/75 可以说是无比垃圾了 下周目标:进步十名?[大雾 T1 题意:有n个点的图 点有点权Ai 也有点权Bi = A_1 + ...
- 8.4 正睿暑期集训营 Day1
目录 2018.8.4 正睿暑期集训营 Day1 A 数对子 B 逆序对 C 盖房子 考试代码 A B C 2018.8.4 正睿暑期集训营 Day1 时间:4.5h(实际) 期望得分:30+50+3 ...
- 正睿OI提高组十连测 day1 总结
可能是最简单的一场比赛了吧,结果却打得这么差... T1是个找规律题,结果一开始愚蠢地找错了规律,然后又对拍,到1h多一点才过掉 然后看t2和t3,以为t2是个水题,t3也只要处理一下就好了,先写t2 ...
- 正睿OI DAY3 杂题选讲
正睿OI DAY3 杂题选讲 CodeChef MSTONES n个点,可以构造7条直线使得每个点都在直线上,找到一条直线使得上面的点最多 随机化算法,check到答案的概率为\(1/49\) \(n ...
- 正睿OI国庆day1
正睿OI国庆day1 T1 \[ S_n=1*S_{n-1}+1*F_{n-1}+1*F_{n-2}+1*f_{n-1}+1*f_{n-2} \] \[ F_{n}=0*S_{n-1}+1*F_{n- ...
- 10.31 正睿停课训练 Day13
目录 2018.10.31 正睿停课训练 Day13 A Poker(期望) B Label(高斯消元) C Coin(二分图染色 博弈) 考试代码 A(打表) B 2018.10.31 正睿停课训练 ...
随机推荐
- 【Python】Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
本文转载自:https://www.cnblogs.com/colipso/p/4284510.html 好文 mark http://www.52nlp.cn/python-%E7%BD%91%E9 ...
- Azkaban 入门
需求 实际当中经常有这些场景:每天有一个大任务,这个大任务可以分成A,B,C,D四个小任务,A,B任务之间没有依赖关系,C任务依赖A,B任务的结 果,D任务依赖C任务的结果.一般的做法是,开两个终端同 ...
- DNS服务器原理介绍(一)
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终 ...
- NRF24L01通信频率
RF-CH 共包括六位,这六位决定了不同的工作方式频率,nRF24L01无线通信模块中工作通道频率由RF-CH寄存器的内容确定, 可由以下公式计算得出:Fo=(2400+RF-CH)MHz. 扩展:射 ...
- 常用maven命令总结
常用Maven命令: mvn -v //查看版本 mvn archetype:create //创建 Maven 项目 mvn compile //编译源代码 mvn test-compile //编 ...
- C# 获取当前IIS请求地址
using System;using System.Collections.Generic;using System.Linq;using System.Web; /// <summary> ...
- 安卓开发 UI入门
布局的类型 线性布局 LinearLayout *** 垂直显示 vertical 水平显示 horizontal 文本适应 wrap_content 填充父窗体 match_parent 权重 l ...
- Java Session 会话技术
什么是Java Session? 大图:http://images2017.cnblogs.com/blog/1030087/201712/1030087-20171223235950881-1310 ...
- Network Simulator for P4(NSP4) src内容介绍
Structure What's NSP4? src source code introduction What's NSP4? NSP4是一个用于P4的网络仿真工具,旨在简化P4的环境部署和运行,将 ...
- Node.js中package.json中^和~的区别
webpack 项目的package.json 文件列出了项目所依赖的插件和库,同时也给出了对应的版本说明,但是在版本说明前面还有个符号:'^'(插入符号)和'~'(波浪符号),总结了下他们之间的区别 ...