理想不闪火
研究开放环境下的深度学习算法、生成模型推理加速和医学图像。
欢迎订阅专栏!
展开
-
P1287 盒子与球题解【python】
bn-1这n-1个球放入m个盒子中,然后再将球bn可以放入其中一个盒子中,方案数为 :m*f(n-1,m)设有n个不同的球,分别用b1,b2,……bn独自占一个盒子;那么剩下的球只能放在m-1个盒子中,方案数为:f(n-1, m-1)两种放法不同当且仅当存在一个球使得该球在两种放法中放入了不同的盒子。个盒子中,且不允许有空盒子。b) 球数 < 盒子数(盒子数“超支”),不成一种方案。a) 盒子数 < 0(盒子数“超支”),不成一种方案。c) 球数 = 盒子数(正好),为一种方案。现有r个互不相同的盒子!原创 2022-09-30 09:47:03 · 507 阅读 · 0 评论 -
P1613 跑路题解 【C++ 版本】
小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千米。我们可以用一个数组F来记录,F[i][u][v]表示u到v能否通过2^i到达,这也就是1秒。我们再枚举一个点k,若F[i-1][u][k]和F[i-1][k][v]同时为真,在读入的时候我们就可以得出F[0][u][v]的值,原创 2022-09-28 09:12:38 · 419 阅读 · 0 评论 -
P3366 【模板】最小生成树满分题解
如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz。原创 2022-09-24 11:46:44 · 429 阅读 · 0 评论 -
P1807 最长路题解【Floyd】
设G为有n个顶点的带权有向无环图,G中各顶点的编号为1到n,请设计算法,计算图G中1,n间的最长路径。原创 2022-09-20 09:48:58 · 630 阅读 · 0 评论 -
P3916 图的遍历题解
给出N个点,M条边的有向图,对于每个点v,求A(v)表示从点v出发,能到达的编号最大的点。原创 2022-09-19 21:10:16 · 348 阅读 · 0 评论 -
P3879 [TJOI2010] 阅读理解题解
英语老师留了N篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过。原创 2022-09-19 11:11:27 · 460 阅读 · 0 评论 -
P2814 家谱题解【并查集的查】
现代的人对于本家族血统越来越感兴趣。原创 2022-09-19 10:41:58 · 393 阅读 · 0 评论 -
P1536 村村通题解【并查集】
某市调查城镇交通状况,得到现有城镇道路统计表。表中列出了每条道路直接连通的城镇。市政府 “村村通工程” 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要相互之间可达即可)。请你计算出最少还需要建设多少条道路?原创 2022-09-17 18:05:43 · 420 阅读 · 0 评论 -
P1305 新二叉树题解
输入一串二叉树,输出其前序遍历。原创 2022-09-17 15:53:37 · 433 阅读 · 0 评论 -
P4715 【深基16.例1】淘汰赛题解
有2n(n≤7)个国家参加世界杯决赛圈且进入淘汰赛环节。已经知道各个国家的能力值,且都不相等。能力值高的国家和能力值低的国家踢比赛时高者获胜。1 号国家和 2 号国家踢一场比赛,胜者晋级。3 号国家和 4 号国家也踢一场,胜者晋级……晋级后的国家用相同的方法继续完成赛程,直到决出冠军。给出各个国家的能力值,请问亚军是哪个国家?原创 2022-09-17 12:38:03 · 319 阅读 · 0 评论 -
P2234 [HNOI2002]营业额统计题解
Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger 拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。经济管理学上定义了一种最小波动值来衡量这种情况:当最小波动值越大时,就说明营业情况越不稳定。原创 2022-09-16 17:58:48 · 356 阅读 · 0 评论 -
P1160 队列安排题解【STL双向链表】
除上述主要操作以外,list还提供了其他一些实用的成员函数:size()返回链表内元素的个数,empty()判断链表是否为空,remove(val)用于移除所有值为val的节点,以及作为成员函数的sort()和unique()。这个“末尾位置”指的是最后一个元素再往后一位,也就是说end()所指的位置不包含有效元素,它相当于一个虚设的节点。it为该链表的一个迭代器,val为待插入的值,插入后val位于it所指位置的前一位。这段代码演示的是list提供的,用于访问内部元素的迭代器。原创 2022-09-16 10:14:45 · 556 阅读 · 0 评论 -
P3613 【深基15.例2】寄包柜题解
超市里有n(1≤n≤105)个寄包柜。每个寄包柜格子数量不一,第i个寄包柜有ai(1≤ai≤105)个格子,不过我们并不知道各个ai的值。对于每个寄包柜,格子编号从 1 开始,一直到ai。现在有q(1≤q≤105)1 i j kijk(0≤k≤109)k=02 i jij已知超市里共计不会超过107个寄包格子,ai。原创 2022-09-16 09:08:41 · 409 阅读 · 0 评论 -
P1443 马的遍历【BFS】
从一个点出发,搜寻另外的点,这明显是一道关于搜索的题目。,而DFS是用来解决求一个点到另一个点路径总数的问题。显然地,这题用到的是BFS。上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。的矩阵,代表马到达某个点最少要走几步(不能到达则输出。输入只有一行四个整数,分别为。对于全部的测试点,保证。原创 2022-09-15 11:01:19 · 202 阅读 · 0 评论 -
P1464 Function 题解
P1464 Function 题解原创 2022-09-11 11:16:13 · 267 阅读 · 0 评论 -
P1045 [NOIP2003 普及组] 麦森数 python 题解
P1045 [NOIP2003 普及组] 麦森数python题解原创 2022-09-06 16:18:14 · 620 阅读 · 0 评论 -
C++【力扣LeetCode算法题库】47. 全排列 II
给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]class Solution {public: vector<vector<int>> ans; void trackback原创 2022-03-28 10:08:23 · 1030 阅读 · 0 评论 -
C++ 模板:template
模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。您可以使用模板来定义函数和类,接下来让我们一起来看看如何使用。函数模板模板函数定义的一般形式如下所示:template <typename type> ret-type func-name(par原创 2021-12-31 08:59:42 · 408 阅读 · 0 评论 -
链表的排序(Python和C实现)
– 比较相邻的元素。如果第一个比第二个大,就交换他们两个。– 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。– 针对所有的元素重复以上的步骤,除了最后一个。– 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。C://线性表的排序,采用冒泡排序,直接遍历链表void Listsort(Node* & head) { int i = 0; int j = 0; //用于变量链表 Node原创 2021-12-04 19:41:25 · 477 阅读 · 1 评论 -
python【力扣LeetCode算法题库】460- LFU缓存
LFU缓存设计并实现最不经常使用(LFU)缓存的数据结构。它应该支持以下操作:get 和 put。get(key) - 如果键存在于缓存中,则获取键的值(总是正数),否则返回 -1。put(key, value) - 如果键不存在,请设置或插入值。当缓存达到其容量时,它应该在插入新项目之前,使最不经常使用的项目无效。在此问题中,当存在平局(即两个或更多个键具有相同使用频率)时,最近最少使...原创 2021-10-21 17:29:35 · 344 阅读 · 0 评论 -
7-5 顺序存储的二叉树的最近的公共祖先问题(25 分)
设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值。输入格式:输入第1行给出正整数n(≤),即顺序存储的最大容量;第2行给出n个非负整数,其间以空格分隔。其中0代表二叉树中的空结点(如果第1个结点为0,则代表一棵空树);第3行给出一对结点编号i和j。题目保证输入正确对应一棵二叉树,且1。输出格式:如果i或j对应的是空结点,则输出ERROR: T[...原创 2021-10-06 10:18:58 · 487 阅读 · 2 评论 -
【浙大软件学院机试】深度优先搜索、并查集和优先级队列知识点(Python实现)
文章目录1 DFS模板2 DFS例题-地下迷宫探索(深搜输出路径)3 并查集4 优先级队列—Huffman树1 DFS模板import mathimport cmathimport sysimport stringimport heapqimport bisectimport copyfrom queue import Queue, PriorityQueue, LifoQueuefrom collections import Counter, dequefrom itertools原创 2021-09-19 21:42:48 · 504 阅读 · 0 评论 -
python【数据结构与算法】B树概念解析和实现
下面来具体介绍一下B-树(Balance Tree),一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。class Node(object): def __init__(self,key..原创 2021-09-15 11:34:01 · 394 阅读 · 0 评论 -
python【数据结构与算法】红黑树概念辨析
文章目录1 二叉查找树2 AVL3 红黑树1 二叉查找树二叉查找树,Binary Search Tree 「BST」,要想了解二叉查找树,我们首先看下二叉查找树有哪些特性呢?某节点的左子树节点值仅包含小于该节点值某节点的右子树节点值仅包含大于该节点值左右子树每个也必须是二叉查找树上图,结合二叉查找树的三条约束来看,非常好,没有什么问题。再来看一个图,依旧符合上面三条约束,感觉有问题吗?2 AVL平衡二叉查找树:简称平衡二叉树。由前苏联的数学家 Adelse-Velskil 和 Landi原创 2021-08-08 21:48:00 · 319 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1086 Tree Traversals Again (25 分)
众所周知只有前序遍历和后序遍历是不可能推出中序遍历的,所以我就不废话了由树的前序遍历和中序遍历可以推后序遍历由树的中序遍历和后序遍历可以推前序遍历#include <cstdio>#include <vector>#include <stack>#include <cstring>using namespace std;vector<int> pre, in, post,value;void postorder(int root原创 2021-07-16 10:44:18 · 314 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1094 The Largest Generation (25 分)
1094 The Largest Generation (25 分)A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to find the generation with the largest population.Input Specification:Each in原创 2021-07-15 11:09:57 · 301 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1051 Pop Sequence (25 分)
1051 Pop Sequence (25 分)Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5原创 2021-07-14 11:25:30 · 325 阅读 · 1 评论 -
【PAT (Advanced Level) Practice】1037 Magic Coupon (25 分)
题意:给出两个集合,从这两个集合里面选出数量相同的元素进行一对一相乘,求能够得到的最大乘积之和。题解:对每个集合,将正数和负数分开考虑,将每个集合里的整数从大到小排序;将每个集合里的负数从小到大排序,然后同位置的正数与正数相乘,负数与负数相乘。注意点:输入为0的不要管,直接忽略,否则测试点1过不去#include<bits/stdc++.h>using namespace std;typedef long long ll;ll na[100005];ll pa[100005]原创 2021-07-13 12:12:34 · 280 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1099 Build A Binary Search Tree (30 分)
深搜+广搜#include <iostream>#include <stack>#include <queue>#include <vector>#include <stdio.h>#include <math.h>#include <algorithm>using namespace std;struct Node{ int data,left,right;}node[150];int n;原创 2021-07-12 09:20:14 · 314 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1093 Count PAT‘s (25 分)
1093 Count PAT’s (25 分)The string APPAPT contains two PAT’s as substrings. The first one is formed by the 2nd, the 4th, and the 6th characters, and the second one is formed by the 3rd, the 4th, and the 6th characters.Now given any string, you are suppose原创 2021-07-11 09:27:02 · 336 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1041 Be Unique (20 分)
1041 Be Unique (20 分)Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1,104 ]. The first one who bets on a unique number wins. For exa原创 2021-07-10 17:41:34 · 326 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1124 Raffle for Weibo Followers (20 分)
1124 Raffle for Weibo Followers (20 分)John got a full mark on PAT. He was so happy that he decided to hold a raffle(抽奖) for his followers on Weibo – that is, he would select winners from every N followers who forwarded his post, and give away gifts. Now y原创 2021-07-09 11:33:44 · 309 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1147 Heaps (30 分)
1147 Heaps (30 分)In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (in a max heap) or less than or equal to原创 2021-07-08 10:12:00 · 353 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1050 String Subtraction (20 分)
C/C++中整型数组的下标类型不一定为整型,C C++语言下数组性质与散列有些类似,即散列中的键值对:下标即为关键码,关键码通过散列函数映射得到元素即为值下标可以为整型,也可以为字符型,简单案例如下:int main(){ int d[3]={0}; char a='a',b='b'; d[a]=1; d[b]=2; printf("%d,%d\n",d[a],d[b]);return 0;}#include <iostream>#include <string&原创 2021-07-07 17:54:05 · 232 阅读 · 0 评论 -
python【数据结构与算法】深入浅出哈希表
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。记录的存储位置=f(关键字)这里的对应关系f称为散列函数,又称为哈希(Hash函数),采用散列技术将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表(Hash table)。哈希表hashtable(key,value) 就是把Key通过一个固定的算法函数原创 2021-07-07 17:48:00 · 329 阅读 · 1 评论 -
【PAT (Advanced Level) Practice】1149 Dangerous Goods Packaging (25 分)
1149 Dangerous Goods Packaging (25 分)When shipping goods with containers, we have to be careful not to pack some incompatible goods into the same container, or we might get ourselves in serious trouble. For example, oxidizing agent (氧化剂) must not be packe原创 2021-07-06 17:01:37 · 332 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1054 The Dominant Color (20 分)
1054 The Dominant Color (20 分)Behind the scenes in the computer’s memory, color is always talked about as a series of 24 bits of information for each pixel. In an image, the color with the largest proportional area is called the dominant color. A strictly原创 2021-07-05 16:46:41 · 282 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1125 Chain the Ropes (25 分)
1125 Chain the Ropes (25 分)Given some segments of rope, you are supposed to chain them into one rope. Each time you may only fold two segments into loops and chain them into one piece, as shown by the figure. The resulting chain will be treated as another原创 2021-07-05 16:33:12 · 295 阅读 · 0 评论 -
【PAT (Advanced Level) Practice】1113 Integer Set Partition (25 分)
#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<cstdlib>#include<map>#include<set>#include<vector>using namespace std;/*题目大意:要求把一个集合分成两个不相交的集合,使.原创 2021-07-04 10:36:10 · 316 阅读 · 0 评论 -
【C++ STL】vector库使用方法
push_back();作用是在vector末尾插入新元素vector<int>vec; for (int i = 0; i < 10; i++) { vec.push_back(i); }删除操作pop_back()删除最后一个元素vector<int>vec{ 1,2,3,4,5 }; for (int i = 0; i < vec.size(); i++) cout << vec[i] << " "; cout &原创 2021-07-04 10:29:39 · 374 阅读 · 0 评论