NOIP 2000 提高组 题解
NOIP2000 提高组 题解
No 1. 进制转换
https://www.rqnoj.cn/problem/295
水题
对于n和基数r, 每次用n mod r, 把余数按照逆序排列
注意 mod后余数必须为正
int n,r;
]={','A','B','C','D','E','F','G','H','I','J'};
int main()
{
ios_base::sync_with_stdio();
while(cin>>n>>r)
{
cout<<n;
string ans="";
cout<<'=';
int t=n;
)
{
;
x=t%r;
) x=x-r;
ans=a[x]+ans;
t=(t-x)/r;
}
cout<<ans<<'('<<"base"<<r<<')'<<endl;
}
;
}
No 2. 乘积最大
https://www.rqnoj.cn/problem/311
简单dp
预处理出s中的s.substr(i,j)
dp(i,j) 为前i个字符中用上k个乘号的种类数
dp[i][j]=max(dp[i][j],dp[k][j-1]*f[k+1][i]) 其中k是用于枚举最后一个乘号的位置
][];
string s;
long long n,m;
][];
int main()
{
ios_base::sync_with_stdio();
cin>>n>>m;
cin>>s;
;i<n;i++)
{
;
for(long long j=i;j<n;j++)
{
num=num*+s[j]-';
f[i+][j+]=num;
}
}
;i<=n;i++)
{
dp[i][]=f[][i];
}
;i<=n;i++)
{
;j<i;j++)
{
for(long long k=j;k<i;k++)
{
dp[i][j]=max(dp[i][j],dp[k][j-]*f[k+][i]);
}
}
}
cout<<dp[n][m]<<endl;
;
}
No 3.方格取数
https://www.rqnoj.cn/problem/314
简单的一个双线程dp 用贪心也可以
我感觉写两个dp好写多了
不过这样写代码短
][]= {},f[][][]= {},temp,n;
void init()
{
int x,y;
cin>>n;
while(cin>>x>>y>>temp)
{
if(x)s[x][y]=temp;
else break;
}
}
int ty(int step,int x)
{
);
}
int max(int a,int b,int c,int d)
{
int x,y;
x=a>b?a:b;
y=c>d?c:d;
return x>y?x:y;
}
int main()
{
int i,j,k,maxn;
init();
; i<=*n-; i++)
; j<=n; j++)
; k<=n; k++)
{
if (j>i) continue;
if (k>i) continue;
][j-][k],f[i-][j][k-],f[i-][j][k],f[i-][j-][k-])+s[j][ty(i,j)];
][j-][k],f[i-][j][k-],f[i-][j][k],f[i-][j-][k-])+s[j][ty(i,j)]+s[k][ty(i,k)];
}
cout<<f[*n-][n][n]<<endl;
;
}
No 4.单词接龙
https://www.rqnoj.cn/problem/608
dfs+判断字符串能否首尾相连
判断字符串能否首尾相连用预处理也行,但我觉得没必要
dfs时记录一下长度和字符串使用次数即可
],ans;
][];
void readdata()
{
cin>>n;
; i<=n; i++)
{
cin>>s[i];
}
cin>>st;
; i<=n; i++)
{
t[i]=;
}
}
int check(int q,int w)
{
int x=strlen(s[q]),y=strlen(s[w]);
;
; i>; i--)
{
ok=;
for(int j=i; j<x; j++)
{
) continue;
ok=;
}
) return i;
}
;
}
void dfs(int k,int l)
{
int x;
ans=max(ans,l);
; i<=n; i++)
{
x=check(k,i);
&&x>)
{
t[i]--;
dfs(i,strlen(s[i])-strlen(s[k])+l+x);
t[i]++;
}
}
}
void work()
{
; i<=n; i++)
{
]==st)
{
t[i]--;
dfs(i,strlen(s[i]));
t[i]++;
}
}
cout<<ans<<endl;
}
int main()
{
readdata();
work();
;
}
The End
NOIP 2000 提高组 题解的更多相关文章
- NOIP 2014 提高组 题解
NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...
- NOIP 2001 提高组 题解
NOIP 2001 提高组 题解 No 1. 一元三次方程求解 https://vijos.org/p/1116 看见有人认真推导了求解公式,然后猥琐暴力过的同学们在一边偷笑~~~ 数据小 暴力枚举即 ...
- noip 2016 提高组题解
前几天写的那个纯属搞笑.(额,好吧,其实这个也不怎么正经) 就先说说day2吧: T1:这个东西应该叫做数论吧. 然而我一看到就照着样例在纸上推了大半天(然而还是没有看出来这东西是个杨辉三角) 然后就 ...
- NOIP 2008提高组第三题题解by rLq
啊啊啊啊啊啊今天已经星期三了吗 那么,来一波题解吧 本题地址http://www.luogu.org/problem/show?pid=1006 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们 ...
- noip 2014 提高组初赛
noip 2014 提高组初赛 一. TCP协议属于哪一层协议( ) A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 B TCP(传输控制协议) 若有变量int a; float: x, ...
- [NOIp 1998 提高组]Probelm 2 连接多位数【2011百度实习生笔试题】
/*====================================================================== [NOIp 1998 提高组]Probelm 2 连接 ...
- noip2010提高组题解
NOIP2010提高组题解 T1:机器翻译 题目大意:顺序输入n个数,有一个队列容量为m,遇到未出现元素入队,求入队次数. AC做法:直接开1000的队列模拟过程. T2:乌龟棋 题目大意:有长度为n ...
- 【NOIP2018】提高组题解
[NOIP2018]提高组题解 其实就是把写过的打个包而已 道路铺设 货币系统 赛道修建 旅行 咕咕咕 咕咕咕
- 最优贸易 NOIP 2009 提高组 第三题
题目描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个 城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分 为双向通行的道路 ...
随机推荐
- 自动安装lnmp
注:需先上传各安装包至服务器.#!/bin/bash #! auto install lnmp #! 安装依赖环境 yum -y groupinstall "X Software Devel ...
- java执行程序的内存分析系列专栏二之static变量和方法内存分析
昨天写了简单的聊了下java执行程序时简单的内存划分,今天我们接着往下聊,聊聊static变量和方法的内存分析. 1.static变量和方法的第一个特性内存分析 statiic变量和方法的第一个特性能 ...
- 【Android Developers Training】 25. 保存文件
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 如何为一个eclipse安装android环境
据说android已经不再支持android adt-bundle的开发环境了,所以如果继续使用的话,会不再更新 使用eclipse来安装android环境或者使用android studio 但是以 ...
- C# 中关于接口实现、显示实现接口以及继承
先列出我写的代码: 接口以及抽象类.实现类 public interface IA { void H(); } public interface IB { void H(); } public abs ...
- usaco training 4.2.4 Cowcycles 题解
Cowcycles题解 Originally by Don Gillies [International readers should note that some words are puns on ...
- vijos1698题解
题目: 船体的结构是不能随意修改的..那样会破坏整艘船和谐的韵律.. 虽然说.如果沿岸航行的话是不会预见太大的海浪的..但是还要小心保护轨杆和船帆.. 毕竟对于小s这样的单轨帆船...轨杆和船帆如果受 ...
- Docker镜像构建的两种方式
关于Docker里面的几个主要概念 这里用个不太恰当的比方来说明. 大家肯定安装过ghost系统,镜像就像是ghost文件,容器就像是ghost系统.你可以拿别人的ghost文件安装系统(使用镜像运行 ...
- Python爬虫从入门到放弃(十四)之 Scrapy框架中选择器的用法
Scrapy提取数据有自己的一套机制,被称作选择器(selectors),通过特定的Xpath或者CSS表达式来选择HTML文件的某个部分Xpath是专门在XML文件中选择节点的语言,也可以用在HTM ...
- java 使用spring实现读写分离
最近上线的项目中数据库数据已经临近饱和,最大的一张表数据已经接近3000W,百万数据的表也有几张,项目要求读数据(select)时间不能超过0.05秒,但实际情况已经不符合要求,explain建立索引 ...