![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
文章平均质量分 50
大 聪 明
Big Smart
展开
-
L3-2 拼题A打卡奖励(背包优化)
使用01背包模板复杂度为n*m约为6e9。因为时间,也就是背包的重量<=600,所以最多为6e5,所以将价值和重量反过来ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=600000;int v[N],w[N],dp[N];int n,m,sum; int inf=0x3f3f3f3f;int main(){ scanf("%d%d",&n,&am.原创 2022-04-19 19:13:05 · 519 阅读 · 1 评论 -
L2-1 红色警报(最短路)
链接战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市信息之后给出被攻占的信息原创 2022-04-15 20:04:48 · 96 阅读 · 0 评论 -
L1-7 谷歌的招聘
链接2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2.71828182845904523536028747135266249775724709369995957496696762772原创 2022-04-14 15:22:51 · 1712 阅读 · 1 评论 -
蓝桥杯2017初赛部分题解
结果填空:青蛙爬井#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int h=60405; int u=105; int d=35; int ans=0; while(h) { ans++; h-=u; if(h<=0)//最后一天白天爬完 { cout<<ans<<endl; break; } h+=d;原创 2022-04-08 11:48:25 · 218 阅读 · 0 评论 -
包子凑数(数学)
链接啊啊啊~~~题目描述小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然有时包子大叔无论如何也凑不出顾客想买的数量。比如一共有3种蒸笼,分别能放4、5和6个包子。而顾原创 2022-03-14 20:38:04 · 233 阅读 · 1 评论 -
分巧克力(思维 降低复杂度)
链接题意:给你几块大的巧克力的尺寸,和需要分享的人,求每人最多可以分得多大的巧克力(每人分得的大小必须一致)分析:一块巧克力能分为(a/c)*(b/c)小块,开始想的是c从1开始遍历,但是部分超时,解决方法见代码注释;#include<bits/stdc++.h>using namespace std;const int N=1e5+10;long long sum;int inf=0x3f3f3f3f;struct node{ int x,y;}e[N];int原创 2022-03-10 17:57:48 · 273 阅读 · 0 评论 -
方格分割(深搜)
传送门题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。6x6的方格,沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。如下就是三种可行的分割法。试计算: 包括这 33 种分法在内,一共有多少种不同的分割方法。 注意:旋转对称的属于同一种分割法。分析:不能按格子遍历,无法找到对称点,必须按格子四周的点遍历,这样也可以控制图案,以(3,3)为初始点,所以开始必须提前标记为1。大概思路就是走一步标记该点以及和它对称的点。AC代码:#include<原创 2022-03-10 10:13:16 · 525 阅读 · 1 评论 -
平面切分(数学)
传送门分析:两条直线如果平行则有3个平面,所以没加条直线,至少增加一个平面。每增加一个结点(之间没有出现的)就多一个平面。所以遍历直线与之前的直线求交点,如果之前交点未出现,就加1。求交点的 相除 会有小数,一定要保留,否则误差太大,所以要取一定的精度,代码是把误差缩小在0.00001内。AC代码:#include<stdio.h>#include<algorithm>using namespace std;const int N=10010;int a[N原创 2022-03-02 09:27:02 · 1023 阅读 · 2 评论 -
子串分值和(思维)
链接题目描述对于一个字符串 SS,我们定义 SS 的分值 f(S)f(S) 为 SS 中出现的不同的字符个数。例如 f(“aba”) = 2,f(“abc”) = 3, f(“aaa”) = 1f(“aba”)=2,f(“abc”)=3,f(“aaa”)=1。现在给定一个字符串 S [0…n − 1]S[0…n−1](长度为 nn),请你计算对于所有 SS 的非空子串 S [i…j](0 ≤ i ≤ j < n)Si…j,f(S [i…j])f(S[i…j]) 的和是多少。输入描述输入一行包原创 2022-03-01 11:35:51 · 442 阅读 · 0 评论 -
字串分值(思维)
问题描述对于一个字符串 S ,我们定义 S 的分值 f(S) 为 S 中恰好出现一次的字符个数。例如 f(“aba”)=1,f(“abc”)=3, f(“aaa”)=0。现在给定一个字符串 S[0…n-1](长度为 n),请你计算对于所有 S 的非空子串 Si…j,f(S[i…j])的和是多少。输入格式输入一行包含一个由小写字母组成的字符串 。输出格式输出一个整数表示答案。样例输入ababc样例输出21样例说明子串 f值a 1ab 2aba 1abab 0ababc 1b原创 2022-02-28 15:05:09 · 699 阅读 · 0 评论