20160725noip模拟赛“Paodekuai” alexandrali
T1:
我们可以用火柴棒来表示十进制下的0~9, 如图所示

现给定火柴数n, 问用这n根火柴能组成的最小数和最大数分别是多少. 所有火柴必须全部用完, 并且所有数字必须是正的且不含前缀零.
【解题】
首先最大数,我们要让位数最多,那么如果n是偶数,那么输出n/2个1,否则就在前面加上个7 然后输出个1
最小的数,有点难办,我们发现前三位都是循环,然后剩下火柴数量都是7的倍数,要使答案尽量小,再后面加上若干个8即可
#include<map>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<complex>
#include<iostream>
#include<assert.h>
#include<algorithm>
using namespace std;
#define inf 1001001001
#define infll 1001001001001001001LL
#define FOR0(i,n) for(int (i)=0;(i)<(n);++(i))
#define FOR1(i,n) for(int (i)=1;(i)<=(n);++(i))
#define ll long long
#define dbg(vari) cerr<<#vari<<" = "<<(vari)<<endl
#define gmax(a,b) (a)=max((a),(b))
#define gmin(a,b) (a)=min((a),(b))
#define ios0 ios_base::sync_with_stdio(0)
#define Ri register int
#define gc getchar()
#define il inline
il int read(){
bool f=true;
Ri x=0;char ch;
while(!isdigit(ch=gc))if(ch=='-')f=false;
while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=gc;}
return f?x:-x;
}
#define gi read()
#define FO(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);
int ten[]={0,inf,1,
7,
4,
2,
6,
8,
10,
18,
22};
int cir[]={200,20,2,6,0,10,1};
int cirr[]={17,11,5,6,0,8,2};
int main(){
FO(match);
int T=gi;
while(T--){
RI(n);
int _n=n;
if(n<=10)
printf("%d ",ten[n]);
else{ if(cir[(n-10)%7])
cout<<cir[(n-10)%7];
n=n-cirr[(n-10)%7];
while(n){
cout<<8;n-=7;
}cout<<' ';
}
n=_n;
if(n&1){putchar('7');n-=3;}
while(n){putchar('1');n-=2;}putchar('\n');
}
return 0;
}
T2
定义从一个点(x, 0)到一个线段[L, R]的覆盖范围, 是若x < L 或x > R, 则覆盖范围为0; 否则, 覆盖范围为min(x – L, R – x).
现给你n个线段[Li, Ri], 以及m组询问. 每组询问包含一个点(xi, 0), 求该点到所有线段的覆盖范围中的最大值.
【解题】
离散化所有询问
左端点变成[L,mid] 右端点变成[mid+1,R],询问的鬼东西就是堆中的最值(建议使用multiset
/*没有代码*/
T3
一行总共长度为n米的长龙, 由公共汽车组成, 可能是长度为5米的短车, 也可能是长度为10米的长车. 短车有k种不同的染色方法, 长车有l中不同的染色方法. 问这一行可能有多少种不同的样子?
【解题】
首先长度5和10可以变成1和2
那么很显然的递推式
答案就是
然后我们一看n<=,看这个式子可以用矩阵乘法优化计算复杂度
然后只要求大概这样,然后没了
#include<map>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<complex>
#include<iostream>
#include<assert.h>
#include<algorithm>
using namespace std;
#define pb push_back
#define inf 1001001001
#define infll 1001001001001001001LL
#define FOR0(i,n) for(int (i)=0;(i)<(n);++(i))
#define FOR1(i,n) for(int (i)=1;(i)<=(n);++(i))
#define mp make_pair
#define pii pair<int,int>
#define ll long long
#define ld double
#define vi vector<int>
#define SZ(x) ((int)((x).size()))
#define fi first
#define se second
#define RI(n) int (n); scanf("%d",&(n));
#define RI2(n,m) int (n),(m); scanf("%d %d",&(n),&(m));
#define RI3(n,m,k) int (n),(m),(k); scanf("%d %d %d",&(n),&(m),&(k));
template<typename T,typename TT> ostream& operator<<(ostream &s,pair<T,TT> t) {return s<<"("<<t.first<<","<<t.second<<")";}
template<typename T> ostream& operator<<(ostream &s,vector<T> t){FOR0(i,sz(t))s<<t[i]<<" ";return s; }
#define dbg(vari) cerr<<#vari<<" = "<<(vari)<<endl
#define all(t) t.begin(),t.end()
#define FEACH(i,t) for (typeof(t.begin()) i=t.begin(); i!=t.end(); i++)
#define TESTS RI(testow)while(testow--)
#define FORZ(i,a,b) for(int (i)=(a);(i)<=(b);++i)
#define FORD(i,a,b) for(int (i)=(a); (i)>=(b);--i)
#define gmax(a,b) (a)=max((a),(b))
#define gmin(a,b) (a)=min((a),(b))
#define ios0 ios_base::sync_with_stdio(0)
using namespace std;
#define Ri register int
#define gc getchar()
#define il inline
il int read(){
bool f=true;
Ri x=0;char ch;
while(!isdigit(ch=gc))if(ch=='-')f=false;
while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=gc;}
return f?x:-x;
}
#define gi read()
#define FO(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);
ll MOD=1000000;
struct Matrix{
ll a[2][2];
ll* operator[](int x){return a[x];}
};
Matrix operator*(Matrix a,Matrix b){
Matrix s;
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
ll ans=0;
for(int k=0;k<2;k++) ans+=a[i][k]*b[k][j]%MOD;
s[i][j]=ans%MOD;
}
}
return s;
}
Matrix Pow(Matrix s,ll d){
Matrix ans;
for(int i=0;i<2;i++) ans[i][i]=1;
while(d){
if(d&1)
ans=ans*s;
s=s*s;
d>>=1;
}
return ans;
}
int main(){
freopen("color.in","r",stdin);
freopen("color.out","w",stdout);
ll n,k,l;
while(scanf("%lld%lld%lld",&n,&k,&l)!=EOF){
n/=5;k%=MOD;l%=MOD;
Matrix s;
s[0][0]=0;s[0][1]=l;
s[1][0]=1;s[1][1]=k;
Matrix qq=Pow(s,n);
ll ans=(qq[1][1]%MOD+MOD)%MOD;
printf("%06d\n",ans);
}
}
20160725noip模拟赛“Paodekuai” alexandrali的更多相关文章
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- NOI模拟赛 Day1
[考完试不想说话系列] 他们都会做呢QAQ 我毛线也不会呢QAQ 悲伤ING 考试问题: 1.感觉不是很清醒,有点困╯﹏╰ 2.为啥总不按照计划来!!! 3.脑洞在哪里 4.把模拟赛当作真正的比赛,紧 ...
- NOIP第7场模拟赛题解
NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 小奇模拟赛9.13 by hzwer
2015年9月13日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿(explo) [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞 ...
- PKUSC 模拟赛 day1 下午总结
下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...
- [GRYZ]寒假模拟赛
写在前面 这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛. 鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优( ...
- BZOJ2741: 【FOTILE模拟赛】L
2741: [FOTILE模拟赛]L Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 1170 Solved: 303[Submit][Status] ...
随机推荐
- SQL中各数据类型的长度、精度
在 Microsoft? SQL Server? 中,每个列.局部变量.表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型.字符.money 等等)的特性. SQL Server ...
- WCF学习笔记(2)——使用IIS承载WCF服务
通过前面的笔记我们知道WCF服务是不能独立存在,必须“寄宿”于其他的应用程序中,承载WCF服务的应用程序我们称之为“宿主”.WCF的多种可选宿主,其中比较常见的就是承载于IIS服务中,在这里我们来学习 ...
- Revit二次开发-BIM模型导出
最近一个月一直在研究Revit二次开发-BIM模型的导出,在网上找了很多相关资料学习.下面简单介绍一下我最近做的这个BIM模型的导出功能. 开始尝试使用Revit2015的样例程序里提供的读取模型几何 ...
- python基础:os模块中关于文件/目录常用的函数使用方法
Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...
- fluent nhibernate 初体验
离开.net框架两年时间,发展的很快呀.原先自我感觉良好到以为只差一个MVP的考核什么的,现在觉得真的差好远了. 呵呵,废话就不多说了.这次花了两天时间才拿下fluent nhibernate的fir ...
- 常用sql时间字符转化
这边主要用到2个函数 convert() cast() cast是对数据字符类型的转化,例如: cast(date as datetime) 这样就将date字段转化成为时间类型了 因为常用到 ...
- Thinkphp整合最新Ueditor编辑器
说到最新的富文本编辑器的确不少(ckeditor.fkeditor.ueditor),这些富文本编辑器如果单独使用基本上很方便,不需要做额外的配置,只要把官方的插件下载下来放到一个web容器中,看看 ...
- Crusher Django Tutorial(5) 使用内置管理员系统
http://crusher-milling.blogspot.com/2013/09/crusher-django-tutorial5-using-admin.html 顺便学习一下FQ Crush ...
- 使用mysql关键字做类字段名报的错,花了我一个钟,坑啊
com.modelsystem.po.ProjectPlan@701faaedHibernate: insert into ld.project_plan (addTime, describe, ex ...
- Laravel 5 基础(三)- 向视图传送数据
我们在Routes.php中新建一个路由 Route::get('about', 'PagesController@about'); 在浏览器中浏览会获得一个错误,错误信息仅仅是一个提示信息,缺少细节 ...