acwing
Agreenhan
a greenhand keeps rising!
展开
-
AcWing 895. 最长上升子序列
给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数 N。第二行包含 N 个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4做法一(我自己想的做法)#include<iostream>#include<vector>using namespace std;int main(){ int原创 2022-03-01 20:41:09 · 88 阅读 · 0 评论 -
Bob和Alice(3)
求的是最大值!!!Bob和Alice在玩一个序列游戏有一个n-1个数的序列B1B1B2B2.......Bn−1Bn−1B_1 B 1 B_2B 2 ....... B_{n-1}B n−1B1B1B2B2.......Bn−1Bn−1Bob又定义了一个新的序列A1A1A2A2.......AnAnA_1A 1 A_2A 2 .......A_nA nA1A1A2A2.......AnAn对每一个 i[1<=原创 2022-02-22 13:14:02 · 3452 阅读 · 0 评论 -
问题 E: 长整数减法
题目描述计算并输出两个长整数(不小于0,不大于10的100次方)的差,保证结果非负。输入格式输入为一组待求差的长整数对,每行为两个长整数。输出格式输出每对长整数的差,每个差输出一行。输入样例2 1100000000 50输出样例199999950#include<iostream>using namespace std;int main(){ string s1, s2; while (cin>>s1>>s2) { string s原创 2022-01-20 12:49:03 · 661 阅读 · 0 评论 -
问题 H: a^b
题目描述求 a 的 b 次方对 p 取模的值,其中 0≤a,b≤10^9 0<p≤10^9输入格式三个用空格隔开的整数a,b和p。输出格式一个整数,表示a^b mod p的值。输入样例2 3 9输出样例8此题部分数论知识a≡ba\equiv ba≡b modm ⇒\Rightarrow⇒ ak≡bka^k \equiv b^kak≡bkmodm此处进行简要证明:∵\because∵ a≡ba\equiv ba≡b modm∴\therefore∴ a=b+mka=b+ mk原创 2022-01-20 12:24:01 · 276 阅读 · 0 评论 -
问题 G: 暴力除法
题目描述输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中aj恰好为数字09的一个排列,2<=n<=79输入格式输入包括多行,每行一个正整数n,2<=n<=79输出格式针对每个输入的n,从小到大输出该表达式,若没有表达式可以生成,则不输出。输入样例62输出样例79546/01283=6294736/01528=62第一种做法:递归枚举全排列再判断,需要枚举 A105A_{10}^{5}A105,枚举次数多#include<原创 2022-01-19 10:36:51 · 326 阅读 · 0 评论 -
问题 K: 分数拆分
问题 K: 分数拆分题目描述输入正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y输入格式输入包括多行,每行一个正整数k,1<=k<=100000输出格式输出所有成立的分数式,按x从大到小的顺序输入样例212输出样例1/2=1/6+1/31/2=1/4+1/41/12=1/156+1/131/12=1/84+1/141/12=1/60+1/151/12=1/48+1/161/12=1/36+1/181/12=1/30+1/201/12=1/原创 2022-01-18 19:17:29 · 106 阅读 · 0 评论 -
问题 M: 进阶1.1.1 畅通工程
题目描述某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入格式测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。注意:两个城市之间可以有多转载 2022-01-17 19:34:27 · 59 阅读 · 0 评论 -
问题 J: 2.4.2 Web导航
题目描述标准的 Web 浏览器包含在最近访问过的页面中向后和向前移动的功能。实现这些特性的一种方法是使用两个栈来跟踪前后移动可以到达的页面。支持以下命令。BACK:将当前页面推到前向栈的顶部。从后向栈的顶部弹出页面,使其成为新的当前页面。如果后向栈为空,则忽略该命令。FORWARD:将当前页面推到后向栈的顶部。从前向栈顶部弹出页面,使其成为新的当前页面。如果前向栈为空,则忽略该命令。VISIT:将当前页面推到后向栈的顶部,使得 URL 成为新的当前页面,前向栈清空。QUIT:退出浏览器。假设浏览原创 2022-01-17 17:29:45 · 329 阅读 · 0 评论 -
问题 K: 2.4.3 骑士移动
写程序,计算象棋中马从一个位置移动到另一个位置所需的最少移动次数输入格式有多组测试数据。第一行一个整数 T,代表数据组数。每组数据包含三行。第一行表示棋盘的长度 L,棋盘大小为 L×L。第二行包含两个整数 x, y,表示马的起始位置坐标。第三行包含两个整数 a, b,表示马的终点位置坐标。L 最大为 300。棋盘坐标范围为 [0, …, L-1]。输出格式对于每组数据输出一行,包含一个数字,即最少移动次数。若起点终点相同,则移动次数为 0。输入样例 复制380 07 01原创 2022-01-17 17:11:35 · 499 阅读 · 0 评论 -
73. 数组中只出现一次的两个数字
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。你可以假设这两个数字一定存在。数据范围数组长度 [1,1000]。样例输入:[1,2,3,3,4,4]输出:[1,2]分析:异或运算满足交换律,结合律。先看简单的情况,对于一个数组,如果只有一个数字出现一次,其余数字出现偶数次,那么,将数组中的所有数字进行异或得到的就是只出现一次的数字。对于这个题,如果将数组全部异或得到就是所求数的异或的值,对于异或得到的值,该值不为零,所以至少有一位为1,且对原创 2022-01-14 19:52:45 · 93 阅读 · 0 评论 -
蓝桥杯C++ AB组辅导课 第一讲 递归与递推
递归实现指数型枚举:从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3运用递归枚举每一位是否被选中。#include<iostream>using n原创 2021-12-02 13:58:49 · 183 阅读 · 0 评论