回文数

 /*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. 【学习笔记】深入理解js原型和闭包(14)——从【自由变量】到【作用域链】

    先解释一下什么是“自由变量”. 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量.如下图 如上程序中,在调用fn()函数时,函数体中第6 ...

  2. 使用 Azure ARM 部署Word Press 遇到 Extension节点 扩展的问题

    在使用Azure ARM模式部署wordpress,将php网站压缩成zip的形式在DefaultTemplate模板中已扩展的形式实现安装 遇到的问题总结: 1.开始在sites节点中,resour ...

  3. java操作Excel、PDF文件

    java操作Excel.PDF文件 分享者:Vashon 分享来源:CSDN博客 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的 ...

  4. 系统设计摘录CAP

    系统架构设计理论与原则 这里主要介绍几种常见的架构设计理论和原则,常见于大中型互联系统架构设计. (一).CAP理论 1.什么是CAP 所谓CAP,即一致性(Consistency).可用性(Avai ...

  5. 【Conclusion】MySQL的安装和使用

    MySQL使用 因为数据库实验用到了MySQL,这里对现在已经涉及到的MySQL部分操作做一个简单的小结. 1.安装MySQL 上MySQL的官网下载对应自己OS平台的MySQL安装文件,有在线安装和 ...

  6. 15分钟学会使用Git

    http://blog.csdn.net/u013510614/article/details/50588446 主体思想 Git作为一个复杂的版本控制系统,命令之多,相信很多小白已经望而却步,有的尝 ...

  7. xorequation(DFS完全枚举)

    题目 有一个含有N个未知数的方程如下: x1^x2^...^xn= V,给定N,V,再给定正整数a1,a2,...an满足1≤ai≤9且∏Ni=1(ai+1)  ≤ 32768,请输出所有满足0≤xi ...

  8. dnsquery - 使用解析程序查询域名服务器

    SYNOPSIS(总览) dnsquery [-n nameserver ] [-t type ] [-c class ] [-r retry ] [-p period ] [-d ] [-s ] [ ...

  9. Linux目录结构及详细介绍

    /:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中. /bin,/usr/bin:该 ...

  10. easyui前端框架01

    一. 三大前端框架的特点 1.easyui=jquery+html4 优点:快速开发.功能齐全 .免费 缺点:不好看.不支持相应式开发 2.bootstrap=jquery+html5 优点: 功能强 ...