传送门

# 4.24一个重要的日子.
我人生中第一道7个测试点下载了5个的题目被我发现了,第一次用光下载数据点机会,真心坑点重重.

这题是一道很经典的贪心题目,可能是因为我太蒻了,导致我一直以为最少普及难度.

我用了几乎从未用过的"指针"(加这->  ""  <-个的原因是这个“指针”是模拟指针);

这个题的贪心策略应该都明白:找第一个开始下降的那个数删,如果一直上升删最后一个。原理就不解释了;

这个题每个字符设一个指针,指向他的下一个(不是下一个字符而是下一个非空字符),这样形成了一个伪链表;

不说了,上带注释代码(有一点点瑕疵)

#include<bits/stdc++.h>
using namespace std;
struct po {//结构体(别问我po什么意思)
char sh;//字符(该序号)
int z;//指针(后继)
};
po a[];
int u;//记录字符串长度
int main() {
int s;
while() {
++u;
a[u-].z=u;//初始化后继
a[u].sh = getchar();//读入
if(a[u].sh == '') {//这里也可以不处理
a[u].sh = '!';
} if(a[u].sh == '\n')//换行的时候结束
break;
}
u--;//减去'\n'的长度
scanf("%d",&s);//输入要减去的个数
if(a[].sh ==''&&a[].sh =='!'&&s==){//最后一个数据点我自己本地测过了,但提交就WA
cout<<;//于是就打表了....大家可以屏蔽这几行把下面某几行的注释去掉,本地可以过
return ;
}
int uu=;//记录是否一直上升趋势
for(int i=; i<=s; i++) {//循环s次
for(int j=; j<u;) {//循环u-i个,至于为什这样写留给大家思考
if(a[j].sh > a[a[j].z].sh &&a[j].sh!='-'&&a[a[j].z].sh!='-') {//标记过的不要管,如果某突然个下降了
a[j].sh = '-';//标记
int pp=j-;
while(a[pp].sh == '-')//拆开链表,重新接上
pp--;
a[pp].z = a[j].z ;
uu++;//标记
break;//每次只能去掉一个
}
j = a[j].z ;//找下一个非空字符
}
if(uu==) {//若一直上升,去掉最后一个
a[u].sh = '-';
}
uu=;
// for(int k=1; k<=u; k++) {//如果不理解过程可以"解封"这些然后体会一下
// cout<<k<<"->"<<a[k].z <<" ";
// }
// for(int k=1; k<=u; k++) {
// cout<<a[k].sh ;
// }
// cout<<endl;
}
int oo=;//输出每个非空字符
int uuu=;//去除前导0
for(int i=; i<=u-s; i++) {//循环u-s次
oo = a[oo].z ;//每次找他的后继
if(uuu!=||a[oo].sh !='!'){//之前写过'!'代表0
uuu++;
if(a[oo].sh !='!')
cout<<a[oo].sh ;
else //如果是'!'就输出0
cout<<;
}
}
// if(uuu==0)//如果什么也没输出
// cout<<"0";//补0
return ;
}

洛谷p1106 删数问题 题解的更多相关文章

  1. 洛谷P1106 删数问题

    题目描述 键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小. 输出应包括所去掉的数字的位置和 ...

  2. 洛谷 P1106 删数问题

    一定要认真审题   “去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数”   也就是说 输入:7893400   4     输出:300  (00在原顺序中位于3后边) 输入:789 ...

  3. 洛谷——P1106 删数问题

    https://www.luogu.org/problem/show?pid=1106 题目描述 键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对 ...

  4. (Java实现) 洛谷 P1106 删数问题

    题目描述 键盘输入一个高精度的正整数NN(不超过250250位) ,去掉其中任意kk个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的NN和kk,寻找一种方案使得剩下的数字组成的新数最小 ...

  5. 洛谷P2426 删数 [2017年4月计划 动态规划12]

    P2426 删数 题目描述 有N个不同的正整数数x1, x2, ... xN 排成一排,我们可以从左边或右边去掉连续的i(1≤i≤n)个数(只能从两边删除数),剩下N-i个数,再把剩下的数按以上操作处 ...

  6. 【题解】洛谷P2426删数

    链接 https://www.luogu.org/problemnew/show/P2426 念念碎 第一次接触到区间DP(瑟瑟发抖) 所以象征性地看了一下题解 这好像是一道比较基础的区间DP吧 但是 ...

  7. 洛谷 P1102 A-B数对 题解

    P1102 A-B 数对 题目描述 出题是一件痛苦的事情! 题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 好吧,题目是这样的:给出一串数以及一个数字 ...

  8. 洛谷 P2426 删数

    题目传送门 解题思路: 区间DP,f[i][j]表示区间i~j可获得的最大值,因为本题的所有区间是可以直接一次性把自己全删掉的,所以所有区间初始化为被一次性删除的值,然后枚举断点,跑区间DP. AC代 ...

  9. 洛谷P1012 拼数 【题解】

    **原题链接** 题目描述 设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时 ...

随机推荐

  1. Redisson分布式锁实现

    转: Redisson分布式锁实现 2018年09月07日 15:30:32 校长我错了 阅读数:3303   转:分布式锁和Redisson实现 概述 分布式系统有一个著名的理论CAP,指在一个分布 ...

  2. 人工智能初识(百度ai)

    目前的人工智能做了什么? 语音识别:小米的小爱同学,苹果的siri,微软的Cortana语音合成:小米的小爱同学,苹果的siri,微软的Cortana图像识别:交通摄像头拍违章,刷脸解锁手机等视频识别 ...

  3. jq选择器(jq 与 js 互相转换),jq操作css样式 / 文本内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息

    jq选择器(jq 与 js 互相转换) // 获取所有的页面元素jq对象 $('css3选择器语法'); var $box = $(".box:nth-child(1)"); 获取 ...

  4. 1. Ansible 简介

    目录 1. Ansible 是什么? 2. Ansible 特性 3. 控制主机需求 4. 被管理节点需求 1. Ansible 是什么? Ansible 是一个配置管理系统(configuratio ...

  5. Oracle DB Day03(SQL)

    --day03 --创建一个包含下面信息的表,并添加一些记录待用 --EMPLOYEE_ID NOT NULL NUMBER(6) --FIRST_NAME VARCHAR2(20) --LAST_N ...

  6. Exp5 MSF基础应用 20164314

    一.实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.一个主动攻击实践,如ms08_067; (成功) 2.一个针对浏览器的攻击,如ms1 ...

  7. luogu P5324 [BJOI2019]删数

    传送门 不如先考虑暴力,能删的序列首先有\(1,2,3...n\),还有就是升序排序后从后往前放数,第\(i\)位要么放\(i\),要么放\(i+1\)位置的数,例如\(1,2,4,4,5,6,9,9 ...

  8. Linux二进制安装apache2.4.25

    Linux二进制安装apache2.4.25 安装环境:CentOS 6.2 先检查是否安装了Apache 如通是通过rpm包安装的话直接用下面的命令:rpm -q httpd 也可以使用如下两种方法 ...

  9. HeatMap

    Reprinting From https://blog.csdn.net/JNingWei/article/details/78803669 ColorMap(色度图) 在图像处理中,伪色彩用途广泛 ...

  10. webpack : 无法将“webpack”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

    全局安装webpack npm install -g webpack 把node_global加入到环境变量