算法
文章平均质量分 71
算法练习
栀子花开 �
你若盛开,蝴蝶自来!
展开
-
洛谷[P1434 [SHOI2002]滑雪] {动态规划的引入}|{dfs} 奋斗的珂珂~
洛谷[P1434 [SHOI2002]滑雪] {动态规划的引入}|{dfs}题目描述Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813原创 2020-06-29 15:25:36 · 178 阅读 · 0 评论 -
洛谷[P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles] {动态规划的引入} 奋斗的珂珂~
洛谷[P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles]题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8原创 2020-06-29 14:50:30 · 336 阅读 · 0 评论 -
洛谷 [P1162 填涂颜色] {搜索|DFS} 奋斗的珂珂~
洛谷 [P1162 填涂颜色] {搜索|DFS}题目描述由数字0组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向。现要求把闭合圈内的所有空间都填写成2.例如:6×6的方阵(n=6),涂色前和涂色后的方阵如下:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 10 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2 11原创 2020-07-04 23:29:29 · 236 阅读 · 0 评论 -
洛谷[P1101 单词方阵] {搜索|DFS} 奋斗的珂珂~
洛谷[P1101 单词方阵] {搜索|DFS}解题思路 首先找到字符’y’的坐标,然后在对于每一个方向(共有八个方向)进行搜索,这样可以保证搜索到的字符串是在一个方向上。 然后设定一个字符数组c用来存储给定的字符串并且用来比较搜索到的字符是不是对应相等。原创 2020-07-04 23:20:57 · 160 阅读 · 0 评论 -
洛谷[P2004 领地选择] {前缀和与差分} 奋斗的珂珂~
洛谷[P2004 领地选择]题目描述作为在虚拟世界里统帅千军万马的领袖,小 Z 认为天时、地利、人和三者是缺一不可的,所以,谨慎地选择首都的位置对于小 Z 来说是非常重要的。首都被认为是一个占地 C×C 的正方形。小 Z 希望你寻找到一个合适的位置,使得首都所占领的位置的土地价值和最高。输入格式第一行三个整数N,M,C,表示地图的宽和长以及首都的边长。接下来 N 行每行 M 个整数,表示了地图上每个地块的价值。价值可能为负数。输出格式一行两个整数 X,Y,表示首都左上角的坐标。输入输出样例原创 2020-06-27 01:07:19 · 345 阅读 · 0 评论 -
洛谷[P3397 地毯] {前缀和与差分:二维差分} 奋斗的珂珂~
洛谷[P3397 地毯] {前缀和与差分:二维差分}题目背景此题约为NOIP提高组Day2T1难度。题目描述在n * n的格子上有m个地毯。给出这些地毯的信息,问每个点被多少个地毯覆盖。输入格式第一行,两个正整数n、m。意义如题所述。接下来m行,每行两个坐标(x1,y1)和(x2,y2),代表一块地毯,左上角是(x1,y1),右下角是(x2,y2)。输出格式输出n行,每行n个正整数。第i行第j列的正整数表示(i,j)这个格子被多少个地毯覆盖。输入输出样例输入 #15 32 2原创 2020-06-27 00:30:57 · 275 阅读 · 0 评论 -
洛谷[P1719 最大加权矩形] {前缀和与差分} 奋斗的珂珂~
洛谷[P1719 最大加权矩形] {前缀和与差分}题目描述为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没有马上答应他们,而是先给她们出了一道数学题,并且告诉她们:你们能获得的运动场地的面积就是你们能找到的这个最大的数字。校长先给他们一个N*N矩阵。要求矩阵中最大加权矩形,即矩阵的每一个元素都有一权值,权值定义在整数集上。从中找一矩形,矩形大小无限制,是其中包含原创 2020-06-27 01:34:15 · 360 阅读 · 0 评论 -
洛谷[P1115 最大子段和] {前缀和与差分} 奋斗的珂珂~
洛谷[P1115 最大子段和] {前缀和与差分}题目描述给出一个长度为 nn 的序列 aa,选出其中连续且非空的一段使得这段和最大。输入格式第一行是一个整数,表示序列的长度 nn。第二行有 nn 个整数,第 ii 个整数表示序列的第 i个数字 ai。输出格式输出一行一个整数表示答案。输入输出样例输入72 -4 3 -1 2 -4 3输出4说明/提示样例 解释选取 [3,5] 子段 {3,−1,2},其和为4。数据规模与约定对于 40% 的数据,保证 n≤10310^310原创 2020-06-26 23:58:14 · 1121 阅读 · 3 评论 -
洛谷[P3406 海底高铁] {前缀和与差分} 奋斗的珂珂~
洛谷[P3406 海底高铁] {前缀和与差分}题目背景大东亚海底隧道连接着厦门、新北、博艾、那霸、鹿儿岛等城市,横穿东海,耗资1000亿博艾元,历时15年,于公元2058年建成。凭借该隧道,从厦门可以乘坐火车直达台湾、博艾和日本,全程只需要4个小时。题目描述该铁路经过N个城市,每个城市都有一个站。不过,由于各个城市之间不能协调好,于是乘车每经过两个相邻的城市之间(方向不限),必须单独购买这一小段的车票。第i段铁路连接了城市i和城市i+1(1<=i<N)。如果搭乘的比较远,需要购买多张车票原创 2020-06-26 20:51:13 · 344 阅读 · 0 评论 -
洛谷[P5638 【CSGRound2】光骓者的荣耀] {前缀和与差分} 奋斗的珂珂~
洛谷[P5638 【CSGRound2】光骓者的荣耀] {前缀和与差分}题目背景小 K 又在做白日梦了。他进入到他的幻想中,发现他打下了一片江山。题目描述小 K 打下的江山一共有n个城市,城市i和城市i+1有一条双向高速公路连接,走这条路要耗费时间ai 。小 K 为了关心人民生活,决定定期进行走访。他每一次会从1号城市到n号城市并在经过的城市进行访问。其中终点必须为城市n。不仅如此,他还有一个传送器,传送半径为kk,也就是可以传送到i-k和i+k。如果目标城市编号小于1则为1,大于n则为n。但原创 2020-06-27 00:20:22 · 383 阅读 · 0 评论 -
洛谷 [P3613 【深基15.例2】寄包柜] {线性表} 奋斗的珂珂~
题目链接https://www.luogu.com.cn/problem/P3613解题思路使用map映射,将柜子编号和格子编号连接形成一个新的string,映射即可。完整代码#include<bits/stdc++.h>using namespace std;map<string,int> p;//转成string类型,绝对独一无二 int main() { int m,n; scanf("%d %d",&m,&n); int a,d; s原创 2020-07-12 21:17:17 · 266 阅读 · 4 评论 -
洛谷 [P3612 [USACO17JAN]Secret Cow Code S] {递推} 奋斗的珂珂~
题目描述The cows are experimenting with secret codes, and have devised a method for creating an infinite-length string to be used as part of one of their codes.Given a string ss, let F(s)F(s) be ss followed by ss “rotated” one character to the right (in a ri原创 2020-07-22 21:16:30 · 578 阅读 · 0 评论 -
洛谷 【P1069 细胞分裂】 {求解质因子} 奋斗的珂珂~
题目描述Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。HanksHanks 博士手里现在有 N种细胞,编号从 1−N,一个第 i种细胞经过 1 秒钟可以分裂为Si个同种细胞(Si为正整数)。现在他需要选取某种细胞的一个放进培养皿,让其自由分裂,进行培养。一段时间以后,再把培养皿中的所有细胞平均分入M个试管,形成M份样本,用于实验。Hanks 博士的试管数M很大,普通的计算机的基本数据类型无法存储这样大的M值,但万幸的是,M 总原创 2020-07-28 22:30:38 · 437 阅读 · 0 评论 -
洛谷 [P1593 因子和] {快速幂+费马小定理求逆元+求解质因子} 奋斗的珂珂~
题目描述输入两个整数 a 和 b,求 aba^bab 的因子和。由于结果太大,只要输出它对 9901 取模的结果。输入格式仅一行,为两个整数 a和 b。输出格式输出一行一个整数表示答案对 9901 取模的结果。输入输出样例输入 #1复制2 3输出 #1复制15说明/提示数据规模与约定对于全部的测试点,保证 1≤a≤5×10710^7107,1≤b≤5×10710^7107 。解题思路1、{分解质因子} 首先,看到题目原创 2020-07-31 21:04:35 · 320 阅读 · 1 评论 -
洛谷 【P2437 蜜蜂路线】{递归与递推} 奋斗的珂珂~
题目背景无题目描述一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 m 开始爬到蜂房 n,m<n,有多少种爬行路线?(备注:题面有误,右上角应为 n−1)输入格式输入m,n 的值输出格式爬行有多少种路线输入输出样例输入 #1复制1 14输出 #1复制377说明/提示对于100%的数据,M,N≤1000解题思路首先根据数据的大小,可知需要使用高精度。再来看看如何递归,此题和斐波那契是类似的。下面解释一下走法。1-原创 2020-07-20 20:52:29 · 720 阅读 · 0 评论 -
洛谷 [P1255 数楼梯] {高精度&递归与递推} 奋斗的珂珂~
题目描述楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。输入格式一个数字,楼梯数。输出格式输出走的方式总数。输入输出样例输入 #1复制4输出 #1复制5说明/提示对于 60% 的数据,N≤50;对于 100% 的数据,N≤5000。解题思路在C语言学习递推时是书上的典型例子。本题有点类似于斐波那契数列。不同之处在于本题需要使用高精度。使用高精度原因:因为数据范围小于等于5000,这时可能的方法个数会溢出,所以考虑使用高精度。使用原创 2020-07-19 22:11:37 · 1012 阅读 · 0 评论 -
洛谷 [P1044 栈] {卡特兰数|dfs递推} 奋斗的珂珂~
题目背景栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。题目描述宁宁考虑的是这样一个问题:一个操作数序列,1,2,…,n(图示为 1 到 3 的情况),栈 A 的深度大于 n。现在可以进行两种操作,将一个数,从操作数序列的头原创 2020-07-19 23:20:08 · 267 阅读 · 0 评论 -
洛谷 [P1464 Function] {递归与递推+宏定义+记忆化} 奋斗的珂珂~
题目描述对于一个递归函数w(a,b,c)如果a≤0 or b≤0 or c≤0就返回值1.如果a>20 or b>20 or c>20就返回w(20,20,20)如果a<b并且b<c 就返回w(a,b,c−1)+w(a,b−1,c−1)−w(a,b−1,c)其它的情况就返回w(a−1,b,c)+w(a−1,b−1,c)+w(a−1,b,c−1)−w(a−1,b−1,c−1)这是个简单的递归函数,但实现起来可能会有些问题。当a,b,c均为15时,调用的次数将非常的多原创 2020-07-20 01:11:15 · 256 阅读 · 0 评论 -
洛谷 [P1028 数的计算] {递推+优化} 奋斗的珂珂~
题目描述我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:不作任何处理;在它的左边加上一个自然数,但该自然数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加自然数为止.输入格式1个自然数n(n≤1000)输出格式1个整数,表示具有该性质数的个数。输入输出样例输入 #1复制6输出 #1复制6说明/提示满足条件的数为6,16,26,126,36,136方法一解题思路推导递推公式原创 2020-07-20 00:31:02 · 136 阅读 · 0 评论 -
洛谷【P1228 地毯填补问题】【棋盘覆盖】 {分治|递归} 奋斗的珂珂~
解题思路典型的分治问题:棋盘覆盖。首先,需要将棋盘分割成为4个2(k-1)*2(k-1)的小棋盘。那么公主的位置必然在这四个方格之内,其余三个方格中没有被占用的位置。要将这三个没被占用位置的子方格转化为被占用位置的子方格,可以使用一个“L”型骨牌覆盖在这三个子方格的汇合之处。如下图:进而将原问题转化为4个较小规模的棋盘覆盖问题,递归这种分割,直至期盼棋盘化为1*1的棋盘。完整代码#include<bits/stdc++.h>using namespace std;typed.原创 2020-07-23 11:25:38 · 472 阅读 · 0 评论 -
洛谷 [P2032 扫描] {priority_queque} 奋斗的珂珂~
题目描述有一个 1×n 的矩阵,有 nn个整数。现在给你一个可以盖住连续 k 个数的木板。一开始木板盖住了矩阵的第 1∼k 个数,每次将木板向右移动一个单位,直到右端与第 n 个数重合。每次移动前输出被覆盖住的数字中最大的数是多少。输入格式第一行两个整数 n,k,表示共有 n 个数,木板可以盖住 k 个数。第二行 n 个整数,表示矩阵中的元素。输出格式共 n - k + 1行,每行一个整数。第i行表示 i∼i+k−1 个数中最大值是多少。输入输出样例输入 #1复制5 31 5 3原创 2020-08-10 00:00:15 · 145 阅读 · 0 评论 -
洛谷[P3817 小A的糖果] {贪心} 奋斗的珂珂~
洛谷[P3817 小A的糖果] {贪心}题目描述小 A 有 n 个糖果盒,第 i 个盒中有ai颗糖果。小 A 每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于 x,至少得吃掉几颗糖。输入格式输入的第一行是两个用空格隔开的整数,代表糖果盒的个数 n 和给定的参数 x。第二行有 nn 个用空格隔开的整数,第 i 个整数代表第 i 盒糖的糖果个数 ai 。输出格式输出一行一个整数,代表最少要吃掉的糖果的数量。输入输出样例输入 #13 32 2 2输原创 2020-06-24 00:25:39 · 510 阅读 · 0 评论 -
洛谷[P1090 合并果子 / [USACO06NOV] Fence Repair G] {贪心} {STL:priority_queue,multiset}
[P1090 合并果子 / [USACO06NOV] Fence Repair G] {贪心}题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n-1次合并之后, 就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为 1原创 2020-06-21 22:07:47 · 240 阅读 · 0 评论 -
洛谷[P1106 删数问题] {贪心}{字符串} 奋斗的珂珂~
洛谷[P1106 删数问题]题目描述键盘输入一个高精度的正整数NN(不超过250位) ,去掉其中任意kk个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的NN和kk,寻找一种方案使得剩下的数字组成的新数最小。输入格式n (高精度的正整数)k(需要删除的数字个数)输出格式最后剩下的最小数。输入输出样例输入1754384输出13解题思路根据经验,如果想要一个多位数尽量的小,那么高位就要尽量的小。所以我们从高位开始进行处理,如果前一位的数字大于后一位的数字,那么删去前一原创 2020-06-22 00:03:51 · 367 阅读 · 0 评论 -
洛谷[P1803 凌乱的yyy / 线段覆盖] {贪心} 奋斗的珂珂~
洛谷[P1803 凌乱的yyy / 线段覆盖] {贪心}题目背景快 noip 了,yyy 很紧张!题目描述现在各大 oj 上有 nn 个比赛,每个比赛的开始、结束的时间点是知道的。yyy 认为,参加越多的比赛,noip 就能考的越好(假的)。所以,他想知道他最多能参加几个比赛。由于 yyy 是蒟蒻,如果要参加一个比赛必须善始善终,而且不能同时参加 22 个及以上的比赛。输入格式第一行是一个整数 n ,接下来 n 行每行是 2 个整数 ai,bi(ai<bi) ,表示比赛开始、结束的时原创 2020-06-21 21:24:46 · 218 阅读 · 0 评论 -
洛谷[P1873 砍树] {二分} 奋斗的珂珂~
题目描述伐木工人米尔科需要砍倒M米长的木材。这是一个对米尔科来说很容易的工作,因为他有一个漂亮的新伐木机,可以像野火一样砍倒森林。不过,米尔科只被允许砍倒单行树木。米尔科的伐木机工作过程如下:米尔科设置一个高度参数H(米),伐木机升起一个巨大的锯片到高度H,并锯掉所有的树比H高的部分(当然,树木不高于H米的部分保持不变)。米尔科就行到树木被锯下的部分。例如,如果一行树的高度分别为20,15,10和17,米尔科把锯片升到15米的高度,切割后树木剩下的高度将是15,15,10和15,而米尔科将从第1棵树得原创 2020-06-28 14:04:15 · 214 阅读 · 0 评论 -
洛谷[P1102 A-B 数对] {二分} | {map} 奋斗的珂珂~
洛谷[P1102 A-B 数对] {二分} | {map}题目描述出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!好吧,题目是这样的:给出一串数以及一个数字 CC,要求计算出所有 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。输入格式输入共两行。第一行,两个整数 N,C。第二行,N 个整数,作为要求处理的那串数。输出格式一行,表示该串数中包含的满足 A - B = C 的数原创 2020-06-23 18:44:24 · 301 阅读 · 0 评论 -
洛谷[P2249 【深基13.例1】查找] {二分} 奋斗的珂珂~
洛谷[P2249 【深基13.例1】查找] {二分}题目描述输入n(n≤10610^6106) 个不超过10910^9109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a1,a2,…,an, 然后进行 m(m≤10510^5105) 次询问。对于每次询问,给出一个整数 q(q≤10910^9109 ),要求输出这个数字在序列中的编号,如果没有找到的话输出 -1 。输入格式第一行 2 个整数 n 和 m,表示数字个数和询问次数。第二行 n 个整数,表示这些待查询的数字。第三行 m原创 2020-06-23 14:17:25 · 669 阅读 · 0 评论 -
洛谷[P3853 [TJOI2007]路标设置] {二分} 奋斗的珂珂~
洛谷[P3853 [TJOI2007]路标设置] {二分}题目背景B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离。为了便于研究这个问题,我们把公路上相邻路标的最大距离定义为该公路的“空旷指数”。题目描述现在政府决定在公路上增设一些路标,使得公路的“空旷指数”最小。他们请求你设计一个程序计算能达到的最小值是多少。请注意,公路的起点和终点保证已设有路标,公路的长度为整数,并且原有路标和新设路标都必须距起点整数个单位距原创 2020-06-24 00:15:19 · 295 阅读 · 0 评论 -
洛谷[P1163 银行贷款] {二分}奋斗的珂珂~
洛谷[P1163 银行贷款] {二分}题目描述当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。输入格式三个用空格隔开的正整数。第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。输出格式一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到0.1%。输入输出样例输入1000 100 12输出2.9解题思路 &nb原创 2020-06-27 11:57:28 · 696 阅读 · 0 评论 -
洛谷[P1024 一元三次方程求解] {二分} 奋斗的珂珂~
洛谷[P1024 一元三次方程求解] {二分}题目描述有形如:ax3x^3x3+bx2x^2x2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在−100至100之间),且根与根之差的绝对值≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。提示:记方程f(x)=0,若存在2个数x1和x2,且x1<x2,f(x1)×f(x2)<0,则在(x1,x2)之间一定有一个根。输原创 2020-06-23 10:43:33 · 927 阅读 · 0 评论 -
【板子】 归并排序 快速排序
归并排序稳定的排序算法时间复杂度 O(nlogn)分治思想1、找分界点,mid=(l+r)/22、递归排序左边与右边3、归并,将两个有序的数列合并成一个 合二为一具体实现#include<bits/stdc++.h>using namespace std;const int maxn=1e6+10;int q[maxn],tmp[maxn];int n; void merge_sort(int q[],int l,int r){ if(l>=r) retu原创 2020-09-21 08:23:58 · 262 阅读 · 0 评论 -
【板子】 0-1背包问题 一维数组
0-1背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4原创 2020-09-27 10:20:17 · 479 阅读 · 0 评论 -
洛谷[P1088 火星人] {暴力枚举} 奋斗的珂珂~
洛谷[P1088 火星人] {暴力枚举}题目描述人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。火星人用一种非常简单的方式来表示数字――掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为1,2,3…。火星人的任意两根手指都能随意交原创 2020-07-04 10:44:09 · 167 阅读 · 0 评论 -
洛谷[P1618 三连击(升级版)] {暴力枚举} 奋斗的珂珂~
洛谷[P1618 三连击(升级版)] {暴力枚举}题目描述将1,2,…,9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:C,试求出所有满足条件的三个三位数,若无解,输出 No!!!。//感谢黄小U饮品完善题意输入格式三个数A,B,C。输出格式若干行,每行 3 个数字。按照每行第一个数字升序排列。输入输出样例输入1 2 3输出192 384 576219 438 657273 546 819327 654 981说明/提示保证 A<B&l原创 2020-07-04 09:48:47 · 348 阅读 · 0 评论 -
洛谷[P2241 统计方形(数据加强版)] {暴力枚举} 奋斗的珂珂~
洛谷[P2241 统计方形(数据加强版)]题目背景1997年普及组第一题题目描述有一个n*m方格的棋盘,求其方格包含多少正方形、长方形输入格式n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100)输出格式方格包含多少正方形、长方形输入输出样例输入2 3输出8 10解题思路样例分析正方形:1、边长为1,个数为(n-0)(m-0)=6。2、边长为2,个数为(n-1)(m-1)=2。故若有nm个方格,取边长为a的正方形,那么边长为a的原创 2020-07-04 09:23:20 · 493 阅读 · 0 评论 -
洛谷[P1036 选数] {暴力枚举} {DFS|next_permutation()}奋斗的珂珂~
洛谷[P1036 选数] {暴力枚举}题目描述已知 n 个整数x1,x2,…,xn,以及1个整数k(k<n)。从n个整数中任选k个整数相加,可分别得到一系列的和。例如当n=4,k=3,4个整数分别为3,7,12,19时,可得全部的组合与它们的和为:3+7+12=223+7+19=297+12+19=383+12+19=34。现在,要求你计算出和为素数共有多少种。例如上例,只有一种的和为素数:3+7+19=29。输入格式键盘输入,格式为:n,k(1≤n≤20,k<n)x1,原创 2020-07-04 10:13:06 · 280 阅读 · 0 评论 -
洛谷[P1157 组合的输出] {暴力枚举} 奋斗的珂珂~
洛谷[P1157 组合的输出] {暴力枚举}题目描述排列与组合是常用的数学方法,其中组合就是从nn个元素中抽出rr个元素(不分顺序且r≤n),我们可以简单地将nn个元素理解为自然数1,2,…,n,从中任取r个数。现要求你输出所有组合。例如n=5,r=3,所有组合为:123,124,125,134,135,145,234,235,245,345输入格式一行两个自然数n,r(1<n<21,0≤r≤n)。输出格式所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占原创 2020-07-04 10:34:56 · 285 阅读 · 0 评论 -
洛谷[P3799 妖梦拼木棒] {暴力枚举} 奋斗的珂珂~
洛谷[P3799 妖梦拼木棒] {暴力枚举}题目背景上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来。题目描述有 n 根木棒,现在从中选 4 根,想要组成一个正三角形,问有几种选法?答案对 10910^9109+7 取模。输入格式第一行一个整数 n。第二行 n个整数,第 i 个整数 ai代表第 i 根木棒的长度。输出格式一行一个整数代表答案。输入输出样例输入41 1 2 2输出1说明/提示数据规模与约定对于 30% 的数据,保证 n≤5×10310^3103。对于原创 2020-07-04 13:43:29 · 282 阅读 · 0 评论 -
洛谷[P2089 烤鸡] {暴力枚举} 奋斗的珂珂~
洛谷[P2089 烤鸡]{暴力枚举}题目背景猪猪 Hanke 得到了一只鸡。题目描述猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 10 种配料(芥末、孜然等),每种配料可以放 1 到 3 克,任意烤鸡的美味程度为所有配料质量之和。现在, Hanke 想要知道,如果给你一个美味程度 n ,请输出这 10 种配料的所有搭配方案。输入格式一个正整数 n,表示美味程度。输出格式第一行,方案总数。第二行至结束,10 个数,表示每种配料所原创 2020-07-04 09:34:59 · 258 阅读 · 4 评论