ICode9

精准搜索请尝试: 精确搜索
  • LOJ#3500. 「联合省选 2021 A」矩阵游戏2021-05-12 20:32:46

    Link 考虑没有「其每个元素为大小不超过 \({10}^6\) 的非负整数」这个限制怎么做,显然令 \(a_{i,1}=a_{1,j}\;(1\le i\le n,\;1\le j\le m)\) 然后一个一个算其余的 \(a_{i,j}\) 即可。 \[\left[\begin{matrix}a_{1,1} & a_{1,2} & a_{1,3} & a_{1,4}\\ a_{2,1} & a_{2,2} & a_{2,3

  • 数据结构:栈与队列奇妙之旅(图文带你欣赏栈和队列的魅力)2021-05-04 09:05:58

    栈 定义: 栈(Stack)是限制在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。当表中没有元素时称为空栈。 例: 假设栈S=(a1,a2,a3,…an),则a1称为栈底元素,an为栈顶元素。栈中元素按a1,a2,a3,…an的次序进栈,退栈的第一个元素应为栈顶元

  • CF1442F2021-05-02 14:35:45

    以下内容搬运自cf官方题解 真是毒瘤。 题解晚上写。 代码: #include<cstdio> #include<algorithm> using namespace std; int D=20; int n,m,q,cnt=-1; int fir[1000],in[1000]; int nxt[200000],to[200000]; int tp[1000],pos[1000]; int have[1<<20]; int K=0,A[10000],B[1000

  • G. Gasoline (二分+最大流)2021-05-01 21:02:51

    G. Gasoline 题目连接 题目大意:有 p p p个加油站, r r r 个运油点,每个加油站都有个需求值,每个运油

  • 刷题-力扣-6902021-05-01 16:03:22

    690. 员工的重要性 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/employee-importance/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。

  • 630员工的重要性2021-05-01 12:58:22

    630员工的重要性 劳动节搞这种题一开就是故意的吧 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/employee-importance 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目 给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度

  • Python | 面试的常客,经典的生产消费者模式2021-04-30 20:01:16

    今天是Python专题的第23篇文章,我们来聊聊关于多线程的一个经典设计模式。 在之前的文章当中我们曾经说道,在多线程并发的场景当中,如果我们需要感知线程之间的状态,交换线程之间的信息是一件非常复杂和困难的事情。因为我们没有更高级的系统权限,也没有上帝视角,很难知道目前运行的状态

  • 2021团体程序设计天梯赛 L2-1 包装机2021-04-27 10:32:34

    思路: 水题,略过 Tip: 无 #include <bits/stdc++.h> using namespace std; const int maxn = 1000 + 5; queue<char> que[maxn]; stack<char> s; int main() { int n, m, smax; cin >> n >> m >> smax; for (int i = 1; i <=

  • 1.递归的本质2021-04-25 20:32:29

    举一个递归的例子 #include <iostream> using namespace std; void func(int n) { if (n >= 10) return ; int i = 0; i++; printf("%d\n", i); func(n+1); } int main() { func(0); return 0; } 打印输出的是一堆1,局部变量在递归的过程中依然保持局部变量的生命周

  • 条件变量condition_variable2021-04-14 02:01:38

    C++ 条件变量(condition_variable) 先贴一个condition_variable的讲解:https://en.cppreference.com/w/cpp/thread/condition_variable,很详细也很全面,但是是英文的,劝退了一部分英语不好的人(也包括我),但是借助翻译还是大概可以看下来的,而且里面的两个代码也很有代表性,使用的生产者

  • 刷题-力扣-7832021-04-13 10:35:21

    783. 二叉搜索树节点最小距离 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点

  • [CF754D] Fedor and coupons - 贪心,堆2021-04-12 14:34:22

    [CF754D] Fedor and coupons - 贪心,堆 Description 给出n个区间,要求选出k个区间,是k个区间的并尽可能大 Solution 按 l 排序后顺序扫描,用一个堆维护 l 不超过当前的,最大的 k 个 r #include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e6 + 5; i

  • C. Amr and Chemistry(bfs)2021-04-12 13:34:31

    https://codeforces.com/problemset/problem/558/C 思路:直接暴力把每个点能到值都扫出来,然后遍历看哪个值==n取最小就好。 https://www.luogu.com.cn/problem/solution/CF558C看了一下对于*2和/2的可以直接建树做跑左右儿子做+换根dp O(n) 但是应该比较针对*2和/2把 #include<i

  • 【洛谷】马的遍历--广度优先搜索(BFS)2021-04-12 13:01:52

    题目描述 传送门:https://www.luogu.com.cn/problem/P1443 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入格式 一行四个数据,棋盘的大小和马的坐标 输出格式 一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能

  • 最短路计数2021-04-10 23:35:20

    概念 模板题 给一个图 \(G=(V,E)\),求 \(S\) 到所有点最短路的数量。 在 Dijkstra/SPFA 的板子上加一个 cnt 即可。 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cstring> using namespace std; const int N=1000000,M=4000000+10;

  • 二叉树——104. 二叉树的最大深度2021-04-10 13:02:32

    二叉树——104. 二叉树的最大深度 题目: 思路: 还是老样子,就是看你用BFS还是DFS。 DFS:递归层数较大时有风险。就是递归,然后看左子树和右子树的maxdepth然后别忘了加1。 BFS:和右视图差不多,还是借助队列存放一层元素,还要设置个变量depth记录层数。这里我们选择BFS 代码: class Solutio

  • 二叉树——102. 二叉树的层序遍历2021-04-06 23:33:32

    二叉树——102. 二叉树的层序遍历 题目: 思路: 就是层序遍历,一层层扫下去,然后通过队列去实现,一个队列先暂存这一层的所有结点,然后另一个队列通过push_back的方式,实现从左到右的访问。 代码: class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) {

  • 21-04-06刷题记录352021-04-06 22:57:43

    80. 删除有序数组中的重复项 II 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 思路 刚拿到手受到之前的题目的影响。还是

  • [CF1183E] Subsequences (easy version) - BFS2021-04-05 21:34:18

    [CF1183E] Subsequences (easy version) - BFS Description 给你一个长度为 \(n(n\le 100)\) 的字符串,找出其中 \(k(k \le 100)\) 个不同子序列(可不连续),使得代价(删除字符数)最小。 Solution 考虑 BFS,用 map 去重,每次枚举删除哪个字符,这样复杂度在 \(O(nk^2)\) #include <bits/stdc+

  • 力扣111题(BFS)2021-04-05 11:01:22

    111、二叉树的最小深度 基本思想: 广度优先搜索 具体实现: 1、根节点入列 2、循环条件是 直到清空队列 3、节点出列以后判断左右子树     如果左右子树都为空,返回现在的深度     如果左孩子存在,加入队列,原深度加1     如果右孩子存在,加入队列,原深度加1   depth+1此时并不会改

  • 算法打卡Week42021-04-02 14:32:50

    题目一:队内最大值 链接:https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 例1

  • (c++)leetcode.200——岛屿数量2021-03-26 09:05:04

    原题地址:https://leetcode-cn.com/problems/number-of-islands/ 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示

  • Codeforces Round #709 (Div. 2) D.Playlist2021-03-22 14:58:19

    D题 题目链接 题意:给你一个长度为n序列,每个元素都是正整数,每次选择相邻的元素(x<y)进行操作(即gcd(x,y)==1),就删除y元素,例如[5, 9, 2, 10, 15] → [5, 9, 2, 10, 15] → [5, 2, 10, 15] (因为 gcd(5,9)=1) → [5, 2, 10, 15] → [5, 2, 10, 15] → [5, 2, 10, 15] → [5, 2,

  • 对称二叉树2021-03-18 20:59:01

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}

  • B. Navigation System(思维+反向建边最短路/最短路计数)2021-03-16 20:03:19

    https://codeforces.com/problemset/problem/1320/B 思路: 需要看当前路线的下一步是否在最短路径上。如果在的话(最短距离-1)就找其相同的到最短距离的到终点的路径有多少。 如果不在的话就说明自己走的路线不在最短路上,导航更正一次。 至于怎么找多个点到终点的最短路,反向建图

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有