回文数

 /*By SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
int read(){
int x=,f=;char ch=getchar();
while(ch<'' || ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>='' && ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int m;
char n[];
struct number{
int a[];
int len;
}a,b;
number operator + (number a,number b){
int len=max(a.len,b.len);
number c={};c.len=len;
int tmp=;
for(int i=;i<=len+;i++){
c.a[i]=a.a[i]+b.a[i]+tmp;
tmp=c.a[i]/m;
c.a[i]%=m;
}
if(c.a[c.len+])c.len++;
return c;
}
bool pd(number x){
for(int i=;i<=x.len/;i++){
if(x.a[i]!=x.a[x.len-i+])return ;
}
return ;
}
int main(){
int step=;
scanf("%d",&m);
scanf("%s",n);
int i,j;
int slen=strlen(n);
for(i=;i<slen;i++){
a.len=i+;
if(n[slen-i-]>='' && n[slen-i-]<='')
a.a[i+]=n[slen-i-]-'';
else a.a[i+]=n[slen-i-]-'A'+;
}
while(step<=){
if(pd(a)){
printf("STEP=%d\n",step);
return ;
}
number b={};
b.len=a.len;
for(i=;i<=b.len;i++)
b.a[i]=a.a[a.len-i+];
a=a+b;
step++;
}
printf("Impossible!\n");
return ;
}

回文数

导弹拦截

数据范围太小了,所以偷了懒,各种优化都没加

 /*by SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int mxn=;
int h[mxn];
int ans=;
int f[mxn],cnt;
int n=;
int main(){
while(scanf("%d",&h[n+])!=EOF ) ++n;
int i,j;
for(i=;i<=n;i++)f[i]=;
for(i=;i<=n;i++)
for(j=;j<i;j++)
if(h[j]>=h[i])f[i]=max(f[i],f[j]+);
ans=;
for(i=;i<=n;i++) ans=max(ans,f[i]);
printf("%d\n",ans);
//part 2
ans=cnt=;
memset(f,,sizeof f);
for(i=;i<=n;i++){
int mini=0x3f3f3f3f,pos=;
for(j=;j<=cnt;j++){
if(f[j]>h[i] && f[j]<mini){
mini=f[j];
pos=j;
}
}
if(!pos){f[++cnt]=h[i];continue;}
f[pos]=h[i];
}
printf("%d\n",cnt);
return ;
}

导弹拦截

邮票面值设计

DP+搜索 这思路挺神的

 /*by SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<map>
using namespace std;
const int mxn=;
int m,k;
int a[mxn],cnt=;
bool vis[mxn];
int f[mxn];
int mxans=;
int ans[mxn];
int DFS(int pos){
memset(f,,sizeof f);
int i,j;
for(i=;i<=;i++){
f[i]=0x3f3f3f3f;
for(j=;j<=pos;j++){
if(a[j]>i)continue;
f[i]=min(f[i],f[i-a[j]]+);
}
if(f[i]>m)return i;
}
}
void dp(int pos){
int tmp=DFS(pos);
// printf("tmp:%d pos:%d\n",tmp,pos);
if(tmp>mxans){
mxans=tmp;
cnt=pos;
memcpy(ans,a,sizeof ans);
}
if(pos==k)return;
for(int i=tmp;i>a[pos];i--){
a[pos+]=i;
dp(pos+);
}
return;
}
int main(){
scanf("%d%d",&m,&k);
int i,j;
a[]=;cnt=;
dp(cnt);
for(i=;i<=cnt;i++){
printf("%d ",ans[i]);
}
printf("\nMAX=%d\n",mxans-);
return ;
}

邮票面值设计

[NOIP1999] 普及组的更多相关文章

  1. 求最长子序列(非连续)的STL方法 - 洛谷P1020 [NOIP1999 普及组] 导弹拦截

    先给出例题:P1020 [NOIP1999 普及组] 导弹拦截 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 大佬题解:P1020 [NOIP1999 普及组] 导弹拦截 - 洛谷 ...

  2. P1015 [NOIP1999 普及组] 回文数

    点击查看题目 题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个十进制数 5656,将 5656 加 6565(即把 5656 从右向左读),得到 ...

  3. 洛谷 P1020 [NOIP1999 普及组] 导弹拦截

    Coidng #include <iostream> #include <algorithm> #include <cstring> #include <ve ...

  4. NOIP2012 普及组 T3 摆花——S.B.S.

    题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

  5. NOIP2016普及组复赛解题报告

    提高组萌新,DAY1DAY2加起来骗分不到300,写写普及组的题目聊以自慰. (附:洛谷题目链接 T1:https://www.luogu.org/problem/show?pid=1909 T2:h ...

  6. 05:统计单词数【NOIP2011复赛普及组第二题】

    05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...

  7. [题解]noip2016普及组题解和心得

    [前言] 感觉稍微有些滑稽吧,毕竟每次练的题都是提高组难度的,结果最后的主要任务是普及组抱一个一等奖回来.至于我的分数嘛..还是在你看完题解后写在[后记]里面.废话不多说,开始题解. 第一题可以说的内 ...

  8. NOIP2016普及组

    普及组.代码有空发. 第一题就是买铅笔.暴力模拟绝对可取. 第二题就是回文日期.从t1的年份到t2的年份枚举每一年.头尾要特判. 第三题就是海港.骗了40分. 第四题就是魔法阵.不太好优化. 完.

  9. [NOIP2013] 普及组

    计数问题 纯模拟 #include<cstdio> #include<iostream> using namespace std; int main(){ int n,x; c ...

随机推荐

  1. 外文翻译 《How we decide》多巴胺的预言 第二节

    本节阅读感言:一朝被蛇咬,十年怕井绳.我们的大脑时刻跟新着本体的预测机制. 上一节提到的喇叭,苹果汁实验可以不断的延伸扩展,在播放喇叭前用强光照射...强光照射前放置特定的图片...都可以扩展多巴胺相 ...

  2. 【学习笔记】OSG 基本几何图元

    例:geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4)); 来指定要利用这些数据生成一个怎么样的形状. ...

  3. SqlSessionFactory

    源码: public interface SqlSessionFactory { SqlSession openSession(); SqlSession openSession(boolean va ...

  4. Web服务器安全设置

    Web服务器安全方面一直重视程度不够,是各种网站经常被黑的主要原因.下面笔者总结了一下关于怎样保证Web服务器安全的措施,希望能给那些服务器尚存在漏洞的用户提供一些帮助. 本文主要以Windows s ...

  5. nodejs,python,sublime和Eclipse的包管理器

    Python的包管理器叫pip. 首先安装Python运行环境Python 3.7.0:https://www.python.org/downloads/release/python-370/ Pyt ...

  6. iview upload on-format-error 事件 在 before-upload 事件 之后,导致在before里面阻止上传后,监测事件失效,需要自己手工写

    iview upload on-format-error 事件 在 before-upload 事件 之后,导致在before里面阻止上传后,监测事件失效,需要自己手工写

  7. New Arrival MB SD Connect Compact 5 (MB SD C4) Star Diagnosis

    MB SD Connect Compact 5 has same function as SD C4 but with new design, support both cars and trucks ...

  8. C ++ _基础之共用体

    由以下代码来进一步学习共用体 #include <stdio.h> #include<iostream> void main() { union un { int a; cha ...

  9. 理解 Word2Vec 之 Skip-Gram 模型

    理解 Word2Vec 之 Skip-Gram 模型 天雨粟 模型师傅 / 果粉 https://zhuanlan.zhihu.com/p/27234078 508 人赞同了该文章 注明:我发现知乎有 ...

  10. BUG笔记 1.0

    似乎只要coding,这些代码就要跟我过不去似的 今天在linux上安装了mysql-server,想不到竟然被一个及其简单的问题给难住了. 是的,我竟然无法登陆!!! 在论坛,百度,google上苦 ...