蓝桥
鸭锁骨啦啦啦
你说贪心是无法接近你的
~~~~
展开
-
试题 算法提高 邮票面值设计
#include<bits/stdc++.h>using namespace std;int d[1000];int n,k,maxs;int tag[100],p[100];void dfs(int t,int s){ if(t==k) return ; int sum=1; p[t]=s; memset(d,10000,sizeof(d)); d[0]=0;...原创 2020-04-04 21:51:46 · 309 阅读 · 1 评论 -
3.29
题解#include<stdio.h>#define N 20int k;int count=0;int use[N+1];int vis[N+1];void dfs(int x){ int i,j,flag; if(x>=2) count++; if(x>k) return ; for(i=1;i<=k;i++){ if(vis[i])...原创 2020-03-29 13:56:22 · 90 阅读 · 0 评论 -
3.28
从1到n的数字中包含多少1n的阶乘的最后一位非零数参考#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;char ch[10][20];char ci[6][20];int cnt=0;boo...原创 2020-03-28 21:46:34 · 86 阅读 · 0 评论 -
安慰奶牛
题目很不好懂~ 总的来说就是访问完所有的节点之后 返回起始点最小生成树 克鲁斯卡尔每个节点也是有权值的,总的来说每个边 要算两次边的权值 和一次两个顶点的权值最后还要加上 起始点的权值#include<iostream>#include<algorithm>using namespace std;int n,p,c[100010];struct node...原创 2020-03-24 20:35:35 · 107 阅读 · 0 评论 -
2020.3.16
问题 1117: K-进制数#include<stdio.h>long long solve(int x,int y){ if(x==1) return y-1; if(x==2) return y*(y-1); return (y-1)*(solve(x-1,y)+solve(x-2,y));}int main(){ int n,k; scanf("%dd %d...原创 2020-03-16 17:22:35 · 75 阅读 · 0 评论 -
试题 算法训练 排列问题
#include<bits/stdc++.h>using namespace std;int main(){ int n,k,x; int cnt=0,s[109][3]={0}; scanf("%d %d",&n,&k); for(int i=0;i<n;i++) for(int j=0;j<n;j++){ scanf("%d",...原创 2020-03-14 16:39:31 · 443 阅读 · 0 评论 -
试题 历届试题 发现环
一开始想用并查集后来参考了别人的代码,又发现了可以用拓扑排序做emmmmm1 并查集+dfs#include<iostream>#include<cstdio>#include<vector>#include<algorithm>using namespace std; const int maxn=1e5+5;vector&l...原创 2020-03-14 15:31:21 · 125 阅读 · 0 评论 -
[蓝桥杯][历届试题]最大子阵
样例输入3 3-1 -4 33 4 -1-5 -2 8样例输出10类似于求最大连续子序列和解题思路: 行的前缀和(对行区间求和) + 最大子段原理 (对列区间求和)#include<iostream>#include<cstdio>using namespace std;const int maxn=505;long int xsu...原创 2020-03-14 14:08:40 · 125 阅读 · 0 评论 -
判断整除
这个题挺好理解的,但是自己也没有写出来 : (无意间发现了一个事情!!!#include<iostream>using namespace std;int main(){ int a[10001]={0},k,n; bool f[10001][101]={0}; cin>>n>>k; for(int i=1;i<=n;i++) {...转载 2019-07-12 20:02:32 · 768 阅读 · 0 评论 -
算法提高 金明的预算方案
此题是01背包问题的变形。物品的重要度乘以价格是背包问题中的价值,物品的价格是背包问题中的体积。1、我们可以把如何在众多主件与附件之中选择购买的问题转变为看成购买的5种方案:(1)什么都不买,(2)只买主件,(3)买主件和附件1,(4)买主件和附件2,(5)买主件和两个附件。2、有些主件有附件,而有些没有,这为我们思考带来了负担,我们完全可以假设任何主件都有两个附件,也就是说如果题目没有...转载 2019-07-07 16:45:24 · 115 阅读 · 0 评论 -
算法训练 K好数
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int MAX_=101;const int M=1000000007;int f[MAX_][MAX_];int main(){ int l,k; long long ans,n; w...原创 2019-03-06 15:11:51 · 197 阅读 · 0 评论 -
算法训练 最大最小公倍数
首先确定是从大到小开始看,然后考虑到第一个数是奇数时,奇偶奇,其中两个奇数中间差2,但奇数没有因子2。第一个数是偶数时,n,n-1,n-2是 偶奇偶,这时候两个偶数之间一定会有公共因子2,然后需要n-2再往后推一个取n-3,即n,n-1,n-3(偶奇奇),但这时候要注意,n,n-3之间可能会有公共因子3,这时候就需要判断n能否被3整除,如果可以,n-3也会被3整除,这样就不能取这三个数了,...原创 2019-03-02 20:08:58 · 78 阅读 · 0 评论 -
P1280 尼克的任务
#include<iostream>#include<algorithm>using namespace std;long int n,k,sum[10001],num=1,f[10001];struct ren{ long int ks,js;}; ren z[10001];int cmp(ren a,ren b){ return a.ks>...原创 2019-03-02 15:47:33 · 114 阅读 · 0 评论 -
算法训练 拦截导弹
这道题目来自1999年NOIP全国联赛提高组。是一个基础的序列型动态规划问题。看到题目就知道第一个问题是严格递减子序列问题。比较有趣的是第二个问题,最少需要几套系统才能拦截所有导弹,就是有多少个递减序列。第一个想法就是把最长的递减子序列给排除之后对剩余的元素再来排除,最终得到最后结果。但是这个想法实现比较困难。这里给出答案,即序列的最长单调递增序列长度为第二问的答案。假如某序列完全递减,...原创 2019-02-26 15:37:54 · 390 阅读 · 0 评论 -
历届试题 翻硬币
#include<iostream>using namespace std;int main(){ string s1,s2; int cr[1000]={0}; cin>>s1>>s2; for(int i=0;s1[i]!='\0';i++) if(s1[i]!=s2[i]) cr[i]=1; int f=-1,count=0...原创 2019-03-02 11:11:57 · 476 阅读 · 2 评论 -
算法提高 排队打水问题
首先 等的时间最短是这个题最重要的,那么就需要 让接水时间最小的人放在前面, 之后,要让接水的人等的时间最短创建两个数组 ,一个代表接水的等待时间 ,一个代表人 接水的人所在的水龙头的等待时间加上去 然后后面的人优先选择等待时间最少的水龙头去接水。#include<bits/stdc++.h>using namespace std;int main(){ int...原创 2019-03-02 10:09:18 · 255 阅读 · 0 评论 -
算法训练 旅行家的预算
#include<iostream>#include<string>using namespace std;int main(){ double D1,C,D2,P; int N; cin>>D1>>C>>D2>>P>>N; double *value=new double[N+2](); do.原创 2019-03-02 09:52:21 · 493 阅读 · 0 评论 -
算法训练 操作格子
用数组超时问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示...原创 2019-01-24 09:51:19 · 128 阅读 · 0 评论 -
算法提高 拿糖果
问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉。 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数。这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖。然后小B就可以接着拿糖。 现在小B希望知道最多可以拿多少糖。输入格式 一个整数N输出格式 最多可以拿多少糖样例输入15样例输出6数据规模和约定 N <= 100...转载 2019-01-24 20:20:05 · 146 阅读 · 0 评论 -
算法提高 能量项链
问题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,...原创 2019-01-25 17:39:41 · 158 阅读 · 0 评论 -
算法训练 传球游戏
【问题描述】 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少...转载 2019-01-25 20:10:48 · 189 阅读 · 0 评论 -
算法训练 开心的金明
很多这类型的题,其实可以归为一类,主要思想就是构造一个dp[][]二维数组,然后dp[i][j]即表示的是对于前i件商品来说不超过j元的最优解,dp初始为0,然后进行m次循环,每次输入v,p;两种情况:1:如果v>j,则dp[i][j] = dp[i - 1][j];2:如果v<=j,则dp[i][j] = max(dp[i - 1][j],dp[i - 1][j - a] + v...转载 2019-01-25 20:28:15 · 151 阅读 · 0 评论 -
算法训练 Beaver's Calculator
问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次。他开发了一种新的计算器,他将此命名为"Beaver’s Calculator 1.0"。它非常特别,并且被计划使用在各种各样的科学问题中。 为了测试它,聪明的海狸邀请了n位科学家,编号从1到n。第i位科学家给这个计算器带来了 ki个计算题。第i个科学家带来的问题编号1到n,并且它们必须按照编号一个一个计算,因为对于每个问题的计算都必须...原创 2019-01-22 13:40:12 · 328 阅读 · 1 评论 -
算法提高 Torry的困惑(提高型) 数的计算
问题描述 Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。输入格式 仅包含一个正整数...原创 2019-01-29 09:45:04 · 81 阅读 · 0 评论 -
算法训练 最大的算式
The greatest test of courage on earth is to bear defeat without losing heart.问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如: N=5,K=2,5个数字分...原创 2019-01-23 13:59:50 · 153 阅读 · 0 评论 -
算法训练 字串统计
问题描述 给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式 第一行一个数字L。 第二行是字符串S。 L大于0,且不超过S的长度。输出格式 一行,题目要求的字符串。输入样例1: 4 bbaabbaaaaa输出样例1: bbaa输入样...原创 2019-01-23 14:52:42 · 89 阅读 · 0 评论 -
算法训练 2的次幂表示
问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=27+23+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=22+2+20 (2^1用2表示) 3=2+2^0 所以最后1...原创 2019-01-23 16:00:03 · 215 阅读 · 0 评论 -
算法训练 Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。 输入格式:输入有两行,分别为两个...原创 2019-01-23 16:23:21 · 60 阅读 · 0 评论 -
邮局
dis_r[i]=mp[i][st]; } } } if(mark1==0&&mark2==0) flag[st]=1; if(mark1==1||mark2==1) dfs(st+1,sum_k+1,sum_r,dis_r); return ; }void init(){ for(int i=1;i<=n;i++) scanf("%...原创 2019-02-26 09:53:51 · 324 阅读 · 0 评论 -
算法训练 Torry的困惑(基本型)
这个代码的判断质数比较新问题描述 Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。输入...原创 2019-01-24 08:13:05 · 65 阅读 · 0 评论