7-33 删数问题

有一个长度为n(n <= 240)的正整数,从中取出k(k < n)个数,使剩余的数保持原来的次序不变,求这个正整数经过删数之后最小是多少。
问题描述

题目分析

这是一个贪心问题
删除k个数后让原来的数最小
让原来的数用string来存,长度为l,删除数字实际上就是删字符
我们删除数字时,应该从高位往低位删,保证每次删除都可以得到一个更小的数
如:2134,这时应该先删除2得到123,而不是删除4

第一次删除:每一次删除前一个比后一个大的数,共删除到l-1位长度

如:178543删除过程为
第一次:删除5 17843
第二次:删除4 1783
第三次:删除8 173
第四次:删除7 13

如果要删除5个数字呢?
显然只删除一次是不够的

第二次删除:经过第一次删除后,得到的是从小到大排列的字符串

上面删除到第四次后还有13
第五次删除应该删除3
所以我们从这里开始从后往前删除

第三次删除

删除前导0操作,比如如果是103,删除一次后得到的是03
这样就要删除前面的0
最后的结果是3

#include<bits/stdc++.h>
using namespace std;
int main() {
    string n;
    int k;
    cin >> n >> k;
    int l = n.length();
    for (int i = 0; i < l - 1; i++) {// 从高位向低位遍历,删除比后一位大的数
        while (k > 0 && i < n.length() - 1 && n[i] > n[i + 1]) {
            n.erase(i, 1);
            k--;
            if (i > 0) {
                i--; // 回退一步,重新检查当前位置
            }
        }
    }
    while (k > 0) {// 处理剩余的删除次数
        n.pop_back();
        k--;
    }
    while (n[0] == '0' && n.length() > 1) {// 删除前导0
        n.erase(n.begin());}
    cout << n;
    return 0;
}

测试结果

178543 4
13
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
目 录 (01) SELECT .................................. ............... .......................................2 查找 SELECT "栏位名" FROM "表格名" (02) DISTINCT................................. ............... .....................................2 不同值 SELECT DISTINCT "栏位名" FROM "表格名" (03) WHERE...................................... ............... ....................................2 条件 SELECT "栏位名" FROM "表格名" WHERE "条件" (04) AND OR ...................................... ............... ..................................3 条件并和或 SELECT "栏位名" FROM "表格名" WHERE "简单条件" {[AND|OR] "简单条件"} (05) IN .............................................. ............... ..................................3 包含 SELECT "栏位名" FROM "表格名" WHERE "栏位名" IN ('值一', '值二 ', ...) (06) BETWEEN.............................. ............... ........................................4 范围包含 SELECT "栏位名" FROM " 表格名" WHERE "栏位名" BETWEEN '值一' AND '值二' (07) LIKE....................................... ............... .......................................4 通配符包含 SELECT "栏位名" FROM "表格名" WHERE "栏位名" LIKE {套 式} -- 支持通配符‘_’ 单个字符 '%' 任意字符 (08) ORDER BY............................... ............... ......................................5 排序 SELECT "栏位名" FROM "表格名" [WHERE "条件"] ORDER BY "栏位 名" [ASC, DESC] -- ASC 小到大 DESC 大到小 (09) 函数........................................ ............... ......................................5 函数 AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合) SELECT "函数名"("栏位名") FROM "表格名" (10) COUNT .................................... .............. ......................................6 计 数 SELECT COUNT(store_name) FROM Store_Information WHERE store_name is not NULL -- 统计非空 SELECT COUNT(DISTINCT store_name) FROM Store_Information -- 统计多 少个不同 (11) Group By .................................. .............. .....................................6 字段分组 SELECT "栏位 1", SUM("栏位 2") FROM "表格名" GROUP BY " 栏位 1" (12) HAVING...................................... .............. ....................................7 函数条件定位 SELECT "栏位 1", SUM("栏位 2") FROM "表格名" GROUP BY "栏位 1" HAVING (函数条件) (13) ALIAS........................................... .............. ..................................7 别名 SELECT "表格别名"."栏位 1" "栏位别名" FROM "表格名" "表格别名" (14) 连接................................................ ..............................................8 SELECT A1.region_name REGION, SUM(A2.Sales) SALES FROM Geography A1, Store_Information A2 WHERE A1.store_name = A2.store_name GROUP BY A1.region_name (15) 外部连接........................................... ............................................9 SELECT A1.store_name, SUM(A2.Sales) SALES FROM Georgraphy A1, Store_Information A2 WHERE A1.store_name = A2.store_name (+) GROUP BY A1.store_name (16) Subquery .............................. .............. .........................................9 嵌套 SELECT "栏位 1" FROM "表格" WHERE "栏位 2" [比较运算素] (SELECT "栏位 1" FROM "表格" WHERE (17) UNION.................................... ............... ......................................10 合并不重复结果 [SQL 语句 1] UNION [SQL 语句 2] (18) UNION ALL....................................... .............. ............................ 11 合并所有结果 [SQL 语句 1] UNION ALL [SQL 语句 2] (19) INTERSECT..................................................... ............... ............. 11 查找相同值 [SQL 语句 1] INTERSECT [SQL 语句 2] (20) MINUS............................ ............... ..............................................12 显示第一个语句中不在第二个语句中的项 [SQL 语句 1] MINUS [SQL 语句 2] (21) Concatenate................................... ............... ...............................12 结果相加(串联) MySQL/Oracle: SELECT CONCAT(region_name,store_name) FROM Geography WHERE store_name = 'Boston'; SQL Server: SELECT region_name + ' ' + store_name FROM Geography WHERE store_name = 'Boston'; (22) Substring ...................................................... ............... ...............13 取字符 SUBSTR(str,pos) SUBSTR(str,pos,len) (23) TRIM ...... .............. .....................................................................14 去空 SELECT TRIM(' Sample '); TRIM()首尾, RTRIM()首, LTRIM()尾 (24) Create Table ........... .............. .....................................................14 建立表格 CREATE TABLE "表格名"("栏位 1" "栏位 1 资料种类","栏位 2" "栏位 2 资料种类",... ) (25) Create View............................. .............. ......................................15 建立表格视观表 CREATE VIEW "VIEW_NAME" AS "SQL 语句" (26) Create Index........................................... ............... ......................16 建立索引 CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME) (27) Alter Table.. .............. ..................................................................16 修改表 ALTER TABLE "table_name"[改变方式] -- ADD 增加;DROP 除;CHANGE 更名;MODIFY 更改类型 (28) 主键.......................... ..................................................................18 ALTER TABLE Customer ADD PRIMARY KEY (SID) (29) 外来主键....................................... ............ ..................................18 CREATE TABLE ORDERS(Order_ID integer,Order_Date date,Customer_SID integer,Amount double,Primary Key (Order_ID),Foreign Key (Customer_SID) references CUSTOMER(SID)); (30) Drop Table................................................. ............... ...................19 除表 DROP TABLE "表格名" (31) Truncate Table ................. ............... ............................................20 清除表内容 TRUNCATE TABLE "表格名" (32) Insert Into....................................... ............... .............................20 插入内容 INSERT INTO "表格名" ("栏位 1", "栏位 2", ...) VALUES ("值 1", "值 2", ...) (33) Update ........................ ................ ................................................20 修改内容 UPDATE "表格名" SET "栏位 1" = [新值] WHERE {条件} (34) Delete ......................................... .............. .................................21 DELETE FROM "表格名" WHERE {条件}
简介:SourceFormatX 源代码美化工具是一款专业的 多语言 源码美化工具, 源代码格式化工具, 源代码缩进排版工具 和企业级源代码风格统一化解决方案。其可以按照预设或自定义的源码风格全自动、大批量、精细地美化 C, C++, Java, C#, D Language, Pascal (Delphi), Visual Basic, VB.NET, VBScript, JavaScript (JScript), PHP, ASP, JSP, HTML, XML, HTML Components, CORBA IDL, 80x86 ASM, 8051 ASM 汇编等编程语言源代码。 拥有 SourceFormatX, 您可以在数秒种之内将任何源代码美化和转换成您最喜爱的代码风格或您开发团队的标准编码规范! 说明:终于找到 SourceFormatX 2.56 的注册破解版了。源代码美化工具SourceformatX破解版,一个传说中不可能被破解的东东,现在完美破解了!!不管你是程序开发者,还是网页设计者,SF都能把你的凌乱代码规矩排列,值得收藏!! 附加: 【软件名称】: SourceFormatX 2.56 【使用工具】: Fi,Ollydbg,ImportREC 【破解平台】: Win2K Server 【软件简介】: SourceFormatX 是一个强大的源代码自动格式化,缩进,排版,美化工具。 它可以格式化 C, C++、Java、C#、Object Pascal、PHP、ASP、JSP、VB、 VB.NET、VBScript、JavaScript 和 HTML Components源代码。 它还可以将源代码输出为语法高亮显示的 HTML 或 RTF 文件。 【软件大小】: 731 KB 【编写语言】: Borland Delphi 5 【加壳方式】: PECompact 1.68 - 1.84 【保护方式】: 文件验证(License.dat)。 破解行为会激活恶意代码, 主要是注册表的HKEY_CLASSES_ROOT整个分支。 注册表是用RegDeleteValueA 。 作者把关键代码做成一个DLL, 将DLL文件的16进制码加密后生成一个注册文件, 密匙产生函数的参数是主程序加壳后的HASH码和机器信息。 已注册用户验证注册码时,先验证有没有文件, 没有文件则自然受限制的功能无法使用。 如果有注册文件,解密后即生成一个小临时文件。 如果主程序被脱壳或者被修改(爆破),自然Hash值密码不符, 解密出来的肯定都是垃圾码,没有一点用处。 只有没有被修改的主程序才能正确地解码, 而且当然只有解密正确的文件才是一个真正的DLL文件, 才能被GetProcAddress函数找到欲调用的关键函数地址。 这样只有注册用户能正常使用了。 【破解建议】: 安装 VMware ,否则, 作者很生气, 后果很严重 :) 【软件下载】: http://wh.onlinedown.net:88/down/sourceformatx256cn.exe /***********************************脱壳**************************************/ ; 跟踪到00625556处 00625556 C2 0400 retn 4 ; 此处就是OEP,记得脱壳后重建输入表,我用的是ImportREC 00573258 55 push ebp /********************************去掉OD检查***********************************/ ; 调用检查OD的函数 0057330F E8 002EFEFF call SourceFo.00556114 ... ... ; 将这里的 机器码 74(jz) 修改为 EB(jmp) 0055614C 74 23 jz short upSource.00556171 ; 调用检查OD的函数 005774EA E8 CDB4FFFF call SourceFo.005729BC ; 将这里的 机器码 74(jz) 修改为 EB(jmp) 005729F2 74 42 je short SourceFo.00572A36 ; 将这里的 机器码 74(jz) 修改为 EB(jmp) 0055F076 74 42 je short SourceFo.0055F0BA /*****************************去掉文件修改检查********************************/ ; 检查执行程序是否被修改 005774F4 E8 97B1FFFF call SourceFo.00572690 ; 将这里的 机器码 74(jz) 修改为 EB(jmp) 005723AC 74 55 je short SourceFo.00572403 ; 0044EA65 E8 A69BFFFF call SourceFo.00448610 0044861D 74 17 je short SourceFo.00448636 /*******************************去掉DeDe检查**********************************/ ; 将这里的 机器码 74(jz) 修改为 EB(jmp) 005727F4 74 28 je short SourceFo.0057281E 0055641C 74 28 je short SourceFo.00556446 /*****************************去掉Filemon检查*********************************/ ; 将这里的 机器码 74(jz) 修改为 EB(jmp) 005560C4 74 20 je short SourceFo.005560E6 /*****************************去掉Snacker检查*********************************/ ; 将这里的 机器码 74(jz) 修改为 EB(jmp) 005560ED 74 20 je short SourceFo.0055610F /*************************其他各类调试软件的驱动句柄检测**********************/ 00573314 E8 632CFEFF call SourceFo.00555F7C ; 关键CALL, 以 eax 传递参数, 005774EF B8 54885700 mov eax,SourceFo.00578854 ; ASCII "License.dat" 005774F4 E8 97B1FFFF call SourceFo.00572690 /****************************执行文件尺寸检查*********************************/ 0055F105 |. 6A 00 push 0 ; /pFileSizeHigh = NULL 0055F107 |. 8B45 FC mov eax,dword ptr ss:[ebp-4] ; | 0055F10A |. 50 push eax ; |hFile 0055F10B |. E8 D477EAFF call <jmp.&kernel32.GetFileSize> ; \GetFileSize ; 将这里的 机器码 3D A8421200 修改为 3D 00E02200(00902200) 0055F110 |. 3D A8421200 cmp eax,1242A8 0055F115 |. 7E 1F jle short SourceFo.0055F136 // ??? 0055EF71 75 1C jnz short SourceFo.0055EF8F /******************************修理非法用户***********************************/ 0055F117 |> /6A 03 /push 3 0055F119 |. |B8 B8F45500 |mov eax,SourceFo.0055F4B8 ; ASCII "048229125055114025094102049210040021027068051099091168132234034161018208011" 0055F11E |. |8D55 E8 |lea edx,dword ptr ss:[ebp-18] 0055F121 |. |E8 9625EFFF |call SourceFo.004516BC 0055F126 |. |8B45 E8 |mov eax,dword ptr ss:[ebp-18] 0055F129 |. |E8 124FEAFF |call SourceFo.00404040 0055F12E |. |50 |push eax ; |CmdLine 0055F12F |. |E8 4079EAFF |call <jmp.&kernel32.WinExec> ; \WinExec 0055F134 |.^\EB E1 \jmp short SourceFo.0055F117 ; 循环打开多个窗口 /****************************可疑*******************************/ 00412F4D |. 807D FF 00 cmp byte ptr ss:[ebp-1],0 00412F51 |. 74 0F je short SourceFo.00412F62 00412F53 |. E8 5803FFFF call SourceFo.004032B0 0041A524 |. 8D45 D4 lea eax,dword ptr ss:[ebp-2C] 0041A527 |. 50 push eax ; /pSystemInfo 0041A528 |. E8 0FC4FEFF call <jmp.&kernel32.GetSystemInfo> ; \GetSystemInfo 0041A52D |. 8B55 FC mov edx,dword ptr ss:[ebp-4] 0041A530 |. 8B4D F8 mov ecx,dword ptr ss:[ebp-8] 0041A533 |. 49 dec ecx 0041A534 |. 78 33 js short SourceFo.0041A569 0041A536 |. 8D45 D4 lea eax,dword ptr ss:[ebp-2C] 0041A539 |. 66:8378 20 03 cmp word ptr ds:[eax+20],3 0041A53E |. 74 10 je short SourceFo.0041A550 ; ??? 00412F21 |. 837B 04 00 cmp dword ptr ds:[ebx+4],0 00412F25 |. 7D 24 jge short SourceFo.00412F4B ; ??? 00412F4D |. 807D FF 00 cmp byte ptr ss:[ebp-1],0 00412F51 |. 74 0F je short SOURCEFO.00412F62 00412F53 |. E8 5803FFFF call SOURCEFO.004032B0 ; eax = "0123456789abcdeffedcba9876543210" 005096B0 |. 8D45 A4 lea eax,dword ptr ss:[ebp-5C] 005096B3 |. E8 3CFFFFFF call SourceFo.005095F4 ; 将这里的 机器码 3D 508D0F00 修改为 3D 00902200 00564168 . 3D 508D0F00 cmp eax,0F8D50 0056416D . 0F8E F7000000 jle SourceFo.0056426A 00564173 . 33D2 xor edx,edx ; 将这里的 机器码 3D 5F890F00 修改为 3D 00902200 00567DFC . 3D 5F890F00 cmp eax,0F895F 00567E01 . 7E 13 jle short SOURCEFO.00567E16 00567E03 . E8 50DDFEFF call SOURCEFO.00555B58 ; ??? 在打开文件License.dat之后多次调用 00412F53 |. E8 5803FFFF call SOURCEFO.004032B0
PowerTool x64 是一款免费强大的进程管理和系统安全辅助工具,支持进程强制结束,可以Unlock占用文件的进程,查看文件/文件夹被占用的情况,内核模块和驱动的查看和管理,进程模块的内存的dump等功能。如果大家喜欢这个工具,希望得到大家的捐赠和支持,以继续更新维护pt,并且购买自己的数字签名 主要功能: 1. 所有进程的枚举(包括内核中隐藏的进程) 2. 所有文件的枚举(包括内核中隐藏的文件) 3. 进程中所有模块的枚举(包括内核中隐藏的模块) 4. 进程的强制结束 5. 进程中模块的强制卸载 6. 模块被哪些进程加载的检索 7. 查看文件/文件夹被占用的情况 8. 可以Unlock占用文件的进程 9. 文件/文件夹的粉碎(可强Unlocker1.8.9/金山/超级巡警文件粉碎机无法除的顽固文件) 10. 阻止文件粉碎后用还原软件还原(采用美国国防部DOD 5220.22-m标准阻止文件还原) 11. 用磁盘解析技术检索硬盘数据 12. 内核模块和驱动的查看和管理 13. 启动项的查看和管理 14. 系统服务的查看和管理 15. 集成文件粉碎功能到系统右键菜单 16. 消息钩子的查看和卸载 17. SSDT/Shadow SSDT钩子的查看 18. 各种内核回调的查看和卸载 19. 多国语言版本的对应(中文和英文) 20. 暂停进程运行和恢复进程运行 21. 进程模块的内存的dump 22. 进程的线程的查看和结束 23. 进程的窗口的查看和控制 24. 进程的定时器的查看和摘除(该功能还没对应Windows2003) 25. 内核定时器的查看和摘除 26. 上传文件在线扫描病毒 27. 查看和摘除用户层的钩子 28. 查看和结束内核线程 29. 关机回调的清除 30. 查看和摘除mini文件驱动 31. 系统恢复功能(检测项目包括注册表关键部位,已安装的杀毒软件,AutoRun文件,Windows漏洞检测,共享文件夹) 32. 流氓快捷方式的检测和除 33. 镜像劫持的检测和除 34. 文件关联的检测和除 35. IE相关的检测和除 37. Object Hook的检测 38. 过滤驱动的查看 39. 网络连接的查看 40. WFP网络过滤的查看和除 更新日志: PowerTool 64位V2.0 增加: 1. 增加了硬件检测(CPU/主板/内存(支持DDR4)/硬盘(支持SSD)/显示器/显卡/声卡/网卡/USB设备 /电池/硬盘温度/显卡温度/主板温度等项目)。 2. 增加了UEFI GPT的检测(传统BIOS MBR的用户仍然检测MBR)。 改善: 1. 修改了进程排序后全蓝色的BUG。
该源码由wap站长网测试发布,程序本身存在的BUG本站不负责修复,如发现BUG可以到http://xiaoyaocy.com/forum-103-1.html提交程序错误信息, wap站长网只负责测试程序可用性,不提供修复服务! 程序说明: (农历6月23)是白马生日,33了,这套系统,白马用了很多的精力和时间,现在发布大家共用。 后台账号admin,密码123456 电脑后台SQL防注管理密码:12345,在WEB_ADMIN/wapyz_sql_admin.asp里面修改 为了你的安全,请务必修改数据库路径和后台地址,管理账号密码,如数据库路径变动,记得将Wapyz_sqlin.asp,sqlin/Wapyz_sqlin.asp,农场FARM/conn.asp,Farm_Fun.asp里面的数据库连接也改一下 jun:功能比较强大,具体请看文件包内的详细升级记录,感谢白马兄的分享,也祝生日快乐! 略去以前公开共享的版本功能,远征者3G建站系统升级功能如下: 1.优化全站代码,整站程序压缩只有3.2M。全站过滤敏感词。 2.首页文章系统,增加:文章关键词搜索,显示最早添加文章,文章热门评论排行,文章评论验证码验证,修复文章评论跳转BUG,增加文章收藏功能。 3.登录注册:增加注册验证,实现注册通道关闭/开启功能,禁止重复昵称注册,注册文件合成一个。新注册的会员需要审核通过后才能修改资料、发表回复和发站内消息。 4.留言系统:将原来的十几个文件做成一个文件,移动到了网站主目录,发表留言需要验证码,留言默认需要审核才能显示,做到防止垃、圾留言,留言之后,会自动通知管理员进行审核。 5.友链系统:增加友站LOGO和网站简介。 6.修复许愿系统、短信系统所有BUG。增加短信推荐给好友功能。 7.信息发布系统:本系统最大特色,可以作为交友系统、商品发布使用。 8.农场系统:修复购买种子可以负数购买的最大BUG,相信目前所有网上流行的农场都有这个BUG,请尽快修复。 9.社区论坛:本系统致力最多就是论坛系统了。 9-1.社区首页:UBB自由排版,流量IP、帖子今日/昨日统计。 9-2.我的空间:头像不再需要购买,只要在修改资料时直接修改头像就可以,最大程度节省系统资源;空间显示我的帖子,我的回复,我的收藏,我的分类信息。 9-3.修复可以加自己好友,可以给自己发消息,可以重复收藏的BUG,修复社区签到BUG。 9-4.论坛版块:增加版块内搜索、精华、简易专题、活动功能;增加会员专属版块功能。 9-5.查看帖子:增加献花扔蛋功能,增加帖子审核、帖子隐藏、复制帖子、短信推荐帖子给好友功能。。 9-6.发表帖子:增加表情发帖,帖子类型发帖。 9-7.帖子回复:增加表情回复,动作回复;增加回复加醒目灯、加精功能。 10.手机后台:系统配置加自定义ID注册,会员注册审核/反审核,留言审核/反审核,修复广播管理,修复友链系统不能添加分类的bug。 11.电脑后台:系统配置加自定义ID注册,网站关键词SEO设置,会员注册声明。社区币种设置,发帖、回帖送币设置,版块顶部、底部、帖子底部UBB功能;愿望管理、分类配置,广播管理,防注管理,分类信息管理。 ====================== 6月8日:增加查看回复显示最新回复/最早回复。 6月9日:增加手机后台设置社区首页活动贴、新贴、热贴条数,增加会员注册送积分、金币、银子、经验配置 6月10日:社区首页增加问候语、社区统计显示/关闭设置【后台设置】,增加UBB 6月10日:浏览帖子增加点击数量设置【手机后台设置】,增加会员头衔。 6月11日:增加扔蛋、献花扣币。修复读取站内消息的一点BUG。 6月13日:修复发帖、回复BUG。修复会员注册通道开关。 6月14日:增加版主权限-清空鸡蛋、鲜花功能。新增加文章评论开启/关闭功能。 6月15日:增加阅读帖子-最新、回复排序方式。增加分类信息手机号、QQ号转换成图片功能 6月16日:新增表情,论坛贴、回回复将扣除发帖、发回复同等数量币数。查看回复时,增加回复引用功能 ====================== 6月17日:增加动态友链、最新友链调用。文章统计UBB调用 6月18日:增加文章下载功能。 6月21日:增加手机/电脑自动识别版本跳转 七月4日:增加多种UBB调用,增加网站描述设置,论坛帮助系统。 7月5日:增加随机音乐播放,电脑后台可以管理,增加图片搜索,修复软件搜索,增加中文搜索等WML调用。 7月6日:增加社区会员开启/隐藏个人资料设置。 7月8日:增加微博日志系统,收藏夹功能升级 7月9日:增加不同时间自动切换不同界面 7月11日:增加商城系统,修复个别BUG。 7月14日:论坛帖子增加除附件功能,增加加好友自动发送信息给对方的功能。 7月15日:修复积分兑换功能,增加防CC攻击。 7月16日:增加手机后台查看所有收件箱、发件箱及除信件功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值