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的更多相关文章

  1. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  2. NOI模拟赛 Day1

    [考完试不想说话系列] 他们都会做呢QAQ 我毛线也不会呢QAQ 悲伤ING 考试问题: 1.感觉不是很清醒,有点困╯﹏╰ 2.为啥总不按照计划来!!! 3.脑洞在哪里 4.把模拟赛当作真正的比赛,紧 ...

  3. NOIP第7场模拟赛题解

    NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...

  4. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  5. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  6. 小奇模拟赛9.13 by hzwer

    2015年9月13日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿(explo) [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞 ...

  7. PKUSC 模拟赛 day1 下午总结

    下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...

  8. [GRYZ]寒假模拟赛

    写在前面 这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛. 鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优( ...

  9. BZOJ2741: 【FOTILE模拟赛】L

    2741: [FOTILE模拟赛]L Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 1170  Solved: 303[Submit][Status] ...

随机推荐

  1. wsus安装与部署——下

    转载请注明原出处 write by xiaoyang 一.            测试 1.         使用客户机或者在域环境下编辑GPO打开组策略 2.         配置自动更新 3.   ...

  2. Linux密码更改

    男孩儿的灰色 QQ:936779899 2014.2.9 1. 进入单用户模式 2. 编辑passwd文件,删除X 3. 然后保存推出并编辑shadow文件 4. 删除标色部分,其他保持不变 5. 最 ...

  3. 第二篇、Swift_自定义 tabbar 的 badgeValue显示样式

    在实际的开发中,我们常常需要根据实际的需求,去改变bageValue的显示样式,默认是红色的背景,白色的字体颜色 使用方式: class BKTabBarController: UITabBarCon ...

  4. 一个基于MBProgressHUD的自定义视图hud例子

    项目中用到的一个hud,基于MBProgressHUD,使用自定义视图实现的,动画效果是从网上参考的,并不是很理想.有需要的可以看看,这里是源码(源码用了cocoapods,运行前需要pod inst ...

  5. spring3中新增的@value注解

    在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件 中的文件,进行键值对的注入,例子如下: 1 首先在applicationContext.xml中加入:   ...

  6. (转)为首次部署MongoDB做好准备:容量计划和监控

    如果你已经完成了自己新的MongoDB应用程序的开发,并且现在正准备将它部署进产品中,那么你和你的运营团队需要讨论一些关键的问题: 最佳部署实践是什么? 为了确保应用程序满足它所必须的服务层次我们需要 ...

  7. for循环,你深刻理解了吗?

    前几天,有一个面试机会,去看了看,遇到一个认为不错的面试题!   过了几天看到csdn上说华为的一道面试题,看了下和我遇到的很相似!   我分享出来希望大家有帮助!   你真的深刻理解for循环了吗? ...

  8. CICS&&XA

    CICS (Customer Information Control System) 是IBM 公司的强大主机交易服务器.集成平台,在全球C.C++.COBOL等交易中间件市场上占有绝大多数客户.CI ...

  9. 关于CORS

    前几天碰到CORS问题,只要在“Access-Control-Allow-Origin”响应头中添加对应域名即可. 今天做一个上传文件的demo,利用XMLHttpRequest向服务器发送post请 ...

  10. C# http下载(支持断点续传)

    分享下项目里面自己封装的一个http下载类 功能如下: 1.支持断点续传 2.下载失败自动重试 3.超时等异常处理 using System; using System.Collections.Gen ...