随笔分类 - 蓝桥杯历年
摘要:(二分啊,,,还是多刷题吧,包括以前的一些算法,感觉根本就没有学深) 标题: 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们
阅读全文
摘要:小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id表示在ts时刻编号id的帖子收到一个"赞"。现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。具体来说,如果存在某个时
阅读全文
摘要:// // Created by snnnom on 2020/9/5. // #include <iostream> #include <stack> #include <vector> #include <math.h> #include <string> #include <stack> #i
阅读全文
摘要:我感觉到了是dfs,但是我不是很会搞它(2017年题好难啊!!!) 本小白以为也是跟以前的连通块似的,按格子来找坐标 后来发现不太行 而且一定要注意根据对称性会有四个是一样的,如果按格子来的话很难判断 所以这个题是看分割线的 从中心点往左走,然后右边的也一起标记(因为对称) 最后的答案要除以4,因为
阅读全文
摘要:bfs通解,,,用了set存放状态以保证第一次找到目标答案 1 // 2 // Created by snnnow on 2020/7/29. 3 // 4 5 #include<bits/stdc++.h> 6 using namespace std; 7 struct node { 8 stri
阅读全文
摘要:这个题,,,由于dfs是个bool型的,,,在递归的时候,忘记写return 然后就一直错orz 1 #include <iostream> 2 #include <string> 3 #include <cstring> 4 5 using namespace std; 6 string a[11
阅读全文
摘要:学一下咋优化: 其实本来看见这个题,你应该知道四个for循环可以解决 优化主要有两种方法,第一个是减小枚举的范围,第二个是减少层数 本题范围肯定是减少不了了, 看一下层数: 最后那个d,其实可以用N-a^2-b^2-c^2来算 如果能开出来就是可以 其实还是不太行emmmm 如果再优化,可以先把c^
阅读全文
摘要:又是一个全排列哈, 注意注意,这个题不是十三个数字都需要,但原理是一样的 一开始把for的边界写错了(每次其实应该从k开始,还没看出来orz) #include <iostream> #include <string> #include <string.h> #include <vector> #i
阅读全文
摘要:这个题,第一反应一定是三个for嵌套加一个max比较. 超级无敌大暴搜 #include <iostream> #include <string> #include <string.h> using namespace std; long MAX=0; int main(){ long m[1000
阅读全文
摘要:上一道题,,,把if条件写错了,,,,找了半天的bug我都快哭了, 好了好了 看见这种填空题,先理解题意 然后把代码copy下来,把空格注释掉,然后运行到编译没有错. 再理一下它的思路 1 // 2 // Created by snnnow on 2020/7/15. 3 // 4 //要注意一一下
阅读全文
摘要:这个题,一开始犯了一个很幼稚的错误 贴贴代码 #include<iostream> #include<stdio.h> #include<stdlib.h> #include<time.h> #include <strings.h> #include <queue> #include <set> #
阅读全文
摘要:最近状态出了点问题呜呜呜,可能是天有点热吧加上有一点点不太舒服,,,稳住啊! 明显一个递归(但是就是不会写) 递归:(一般这种找有多少个的题,返回值都是int) 首先找变化的东西当作参数.(本题是坐标) 再找重复的问题(递归调用) 最后找出口(千万别忘) 看起来其实也比较简单,,有点类似于前几天上楼
阅读全文
摘要:这个题方向其实还算好找,就是枚举嘛 (这是一个填空题,所以六个for嵌套也无所谓,因为毕竟emmmm,不看时间) 这里是判断的代码: 需要把数字转化成字符串 void i2s(int x,string &s){//注意是个引用 stringsream ss; ss>>x; ss<<s; } bool
阅读全文
摘要:诶,今天发生了点不是很开心的事.说实话挺影响心情的啊(谁遇见这种事不生气呢啊啊啊啊) 但是不能水更,还是得好好更新呀. 这个题居然直接用excel哈哈哈哈 那,,就这样吧!
阅读全文
摘要:为什么第二题就这么难呜呜呜,这不是为难我吗!!! 可以明确的是,又是一个bfs 最少路径,找满足条件的那个层数 1 #include<iostream> 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<time.h> 5 #include <s
阅读全文
摘要:1 #include<iostream> 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<time.h> 5 #include <queue> 6 using namespace std; 7 int N,ans=0; 8 int ax[4]=
阅读全文
摘要:首先找找规律,两者相加除以二. 按格式读入sscanf 按格式输出printf("02d%",m);前导0 1 #include <iostream> 2 #include <set> 3 #include <cstring> 4 5 using namespace std; 6 //快速幂运算 7
阅读全文
摘要:我自己一开始想的差不多,但是好像想得是vector+sort.... 直接用set它不香吗? 还有就是寻找下一个数的时候,没有用upperbound,,, 我想的大概是遍历一遍(就是用for对这个函数进行实现) 但是很慢,,, 那就s.upper_bound 1 #include <iostream
阅读全文
摘要:果然是练思维呀!!要是我的话估计就能挨个算一算呜呜呜 分解成 2和5相乘的式子 1 #include <iostream> 2 using namespace std; 3 //快速幂运算 4 5 int main(){ 6 int data[100]={}; 7 int num2=0; 8 int
阅读全文