- 博客(15)
- 收藏
- 关注
原创 蓝桥杯2023年第十四届省赛真题-合并区域(并查集 + 模拟)
感觉题目数据量出小了100倍,时间复杂度O(n^2),对于 100% 的数据,1 ≤ N ≤ 50。
2023-06-08 12:34:50
1590
1
原创 装备合成 三分,动态规划
题目描述链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网牛牛有x件材料a和y件材料b,用2件材料a和3件材料b可以合成一件装备,用4件材料a和1件材料b也可以合成一件装备。牛牛想要最大化合成的装备的数量,于是牛牛找来了你帮忙。链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网输入描述:输入包含t组数据第一行一个整数t接下来t行每行两个整数x,y输出描述:每组数据输出一行一个整数表示答案。链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网..
2022-04-15 22:40:40
549
1
原创 小A买彩票 动态规划(c++代码)
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述小A最近开始沉迷买彩票,并且希望能够通过买彩票发家致富。已知购买一张彩票需要3元,而彩票中奖的金额分别为1,2,3,4元,并且比较独特的是这个彩票中奖的各种金额都是等可能的。现在小A连续购买了n张彩票,他希望你能够告诉他至少能够不亏本的概率是多少。输入描述:一行一个整数N,为小A购买的彩票数量一行一个整数N,为小A购买的彩票数量一行一个整数N,为小A购买的彩票数量输出描述:输出一个最简分数a/b,表示小A不亏本的.
2022-04-13 19:06:41
348
原创 数学考试 牛客网
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述今天qwb要参加一个数学考试,这套试卷一共有n道题,每道题qwb能获得的分数为ai,qwb并不打算把这些题全做完,他想选总共2k道题来做,并且期望他能获得的分数尽可能的大,他准备选2个不连续的长度为k的区间,即[L,L+1,L+2,....,L+k-1],[R,R+1,R+2,...,R+k-1](R >= L+k)。输入描述:第一行一个整数T(T<=10),代表有T组数据接下来一行两个整数n,k,(2.
2022-04-12 08:44:52
122
原创 李白打酒加强版
话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒22斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店NN次,遇到花MM次。已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白这一路遇到店和花的顺序,有多少种不同的可能?注意:壶里没酒 (00斗) 时遇店是合法的,加倍后还是没酒;但是没酒时遇花是不合法的。输入格式第一行包含两个整数NN和MM。输出格式输出一个整数表示...
2022-04-11 21:59:13
1192
3
原创 积木画 蓝桥杯
动态规划代码最开始2个格子未铺满为(0,0),可以根据两个格子是否铺满来决定下一层的情况每一层我们都铺满,并且获得下一层是否铺上是积木分四种情况最后一层也就是扑到越界时我们得保证此层也为未铺满(0,0)#include <iostream>#include <string>#include <vector>#include <functional>using namespace std;#include <queue&...
2022-04-09 17:44:00
860
2
原创 c++ 窗口内最大最小值
使用双端队列int main(void){ int arr[12] = { 5,4,3,6,5,4,7,8,4,3,4,5 }; int w = 3; //设定窗口为3 int index = 0; int* ret = new int[12 - 3 + 1]; //出现12-3+1个窗口 memset(ret, 0, sizeof(int) * 10); //初始化 int R = 0; deque<int> window; for (
2022-03-05 09:56:29
460
原创 c++ 链表partition代码(类似快排操作)
分三个区域,小中大,然后依次连接返回小中大最先非空的头指针#include <iostream>using namespace std;class Node{public: int value; Node* next; Node() { value = 0; next = NULL; } Node(int value) { this->value = value;
2022-03-01 15:42:23
714
原创 c++ 基数排序
不基于比较的排序,若存在负数则全体加上最小值排序后全体减去最小值#include <iostream>using namespace std;int getD(int num, int d) //获取d位上的数{ while (d > 1) { d--; num /= 10; } return num % 10;}int getDigit(int num) //获取最大位数 低于最大位则补前缀0{
2022-02-28 10:58:03
612
原创 C++ 加强堆
#include <iostream>using namespace std;#include <map>class heap{public: int heapSize; int limit; int* heapArray; map<int, int> heapMap; heap(int limit) { this->limit = limit; this->heapArray = new int[limit]; heap.
2022-02-27 23:51:46
239
原创 c++前缀树代码
#include <iostream>#include <string>#include <map>using namespace std;class Node{public: int pass; int end; Node **next; //map<int, Node*> next; //用表存储(int)word[i],便可不局限于字母 Node() { pass = 0; end = 0; //0 a 1 .
2022-02-27 23:35:58
181
原创 c++ 堆排序
只需要heapify时间复杂度o(nlogn)void heapify(int index,int heapSize,int *heapArray){ int left = index * 2 + 1; while (left < heapSize) { int largest = left + 1 < heapSize && heapArray[left + 1] > heapArray[left] ? left + 1 : left; if (
2022-02-27 15:34:40
353
原创 【币值转换】
输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。输入格式:输入在一行中给出一个不超过9位的非负整数。输出格式:在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。输入样例1:813227345结尾无空行输出样例1:
2021-12-01 09:12:04
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人