ICode9

精准搜索请尝试: 精确搜索
  • H106OJ | 士兵排队问题2022-03-20 21:02:05

    士兵排队问题 Description 有N个士兵(1≤N≤26),编号依次为A,B,C,…,队列训练时,指挥官要把一些士兵从高到矮一次排成一行,但现在指挥官不能直接获得每个人的身高信息,只能获得“P1比P2高”这样的比较结果(P1、P2∈A,B,C,…,Z,记为 P1>P2),如”A>B”表示A比B高。 请编一程序,根据所得到的比较结果求

  • 2022.3.202022-03-20 20:03:33

    蓝书 AcWing 194. 涂满它! 比完赛后补题解 #include <algorithm> #include <cmath> #include <cstdio> #include <cstring> #include <iostream> using namespace std; typedef long long ll; typedef pair<int, int> pii; const int N = 1e5 + 10, I

  • DFS and BFS2022-03-20 17:04:27

    DFS and BFS 一. DFS的基本概念 深度优先搜索(Depth First Search,简称DFS):一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当搜索遇到阻碍,如节点 的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点 的那条边的起始节点

  • 题解 P1902 【刺杀大使】2022-03-20 10:02:35

    P1902 刺杀大使 题目大意: 找出一条路径,使得从第 \(1\) 行到第 \(n\) 的上的最大值最小。 solution: 根据黑体字,很容易想到二分: 二分最大值,广搜验证。 细节处理: 广搜边界。 队列、标记初始化。 代码 #include<cstdio> #include<algorithm> #include<queue> #include<cstring> usi

  • 316. 去除重复字母2022-03-19 15:36:08

    题目描述: 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。   示例 1: 输入:s = "bcabc" 输出:"abc" 示例 2: 输入:s = "cbacdcbc" 输出:"acdb"   提示: 1 <= s.length <= 10^4 s 由小写英文字

  • Johnson 最短路算法2022-03-19 09:04:44

    Johnson 算法 全源最短路径求解其实是单源最短路径的推广,求解单源最短路径的两种算法时间复杂度分别为: Dijkstra 单源最短路径算法:时间复杂度为 \(O(E + VlogV)\),要求权值非负; Bellman-Ford 单源最短路径算法:时间复杂度为 \(O(VE)\),适用于带负权值情况; 如果对全图顶点遍历,使用 D

  • BZOJ3764 Petya 的序列2022-03-18 22:06:42

    由于某种莫名其妙的原因一定要把这道题调完。。。 设幸运数字的个数为 \(s\) 。 这个题目一共就没几个切入点,所以要么在每个幸运数字上做手脚,要么就枚举端点然后优化。 然后你套路地枚举最左边的端点,记为 \(l\) ,算出这样每个合法的区间总数是多少。 然后不知道怎么做,枚举左边区间

  • 回形取数——蓝桥云课2022-03-18 20:58:04

    回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。 输入描述 输入第一行是两个不超过 200200 的正整数 m, nm,n,表示矩阵的行和列。接下来 mm 行每行 nn 个整数,表示这个矩阵。 输出描述 输出只有一行,共 mnmn 个数,为

  • 质数筛与欧拉函数2022-03-08 22:00:16

    第一课时 复习及引入 质数判断 bool isPrime(int x){ if(x<2) return false; for(int i=2;i*i<=x;i++){ if(x%i==0) return false; } return true; } 复杂度分析 \(O(\sqrt{n})\) 引入问题,输入n(\(1\leq n\leq10^6\))个数字(\(0\leq x \leq 10^6\)),判断

  • 注意事项2022-03-08 21:00:52

    语言 运算符的优先级:四则运算 \(>\) 关系运算 \(>\) 位运算 \(>\) 逻辑运算。 输出:尽量少混用;puts 会自动换行。 数组:尽量开最大使用\(+ 7\)。 局部变量要初始化。 memset 尽量只初始化 \(0\) 和 \(-1\)。 STL:无关紧要的少用(如存图,stack)。 算法 Tarjan:强连通分量 \(=\) 双连通

  • G - Reducing Delivery Cost -最短路2022-03-07 14:02:51

    G - Reducing Delivery Cost  题意: 给你n个点和m条边以及每条边的权值 允许让一条边的权值变成0 然后有q次询问 求q次询问的xi到yi的最小路径和 思路:   显然是最短路的题 但是直接套最短路模板 枚举每条免费的边然后再dij每个点 来求 时间复杂度 是 n* m * k * log(m)会超时 所

  • 最短路模板(堆优化dijstra + spfa)2022-03-04 11:31:37

    /**\ 最短路模板 输入: n m s t 接下来m行 u, v, w表示u -> v 有一条权值为w的无向边 input: 3 3 1 2 1 2 3 2 3 4 1 3 5 output: 3 \**/ #include <bits/stdc++.h> using namespace std; #define fi first #define se second #define go continue #define int long long #define

  • 关于react 的render props 如何使用2022-03-03 11:00:55

    最近开始复习react内容,看到这块的时候想起来以前也没用过,就写了一个小例子看看,代码如下 import React from 'react'; class Tip extends React.Component{ render() { const pos = this.props.pos; console.log('ps', pos) return ( <d

  • 最小不相交路径覆盖2022-03-03 01:04:20

    例1 hdoj 1151 air raid 有一张有向图,一些伞兵可以落在任意位置,沿着有向边往前走。注意一条路仅能被一个伞兵经过 问最少派出多少个伞兵 题解 这是一个最小(不相交)路径覆盖问题,因为从每个点出发,下一步最多经过一条边,因此可以用二分匹配解决(可以想见) code #include<bits/stdc++.h>

  • P3386 【模板】二分图最大匹配 题解(匈牙利算法)2022-03-01 15:34:03

    题目连接 题目思路 如果不要去证明这个算法的正确性的话,我认为这只能算是一个简单贪心的dfs 可能一直被它高深的名字骗了没有去深入学习 时间复杂度\(O(nm)\) \(n\)代表点数,\(m\)代表边数 算法流程大概是如下 参考洛谷的题解 1.从任意一个没有被配对的点x开始,从点x的边中任意选一

  • 蓝桥杯-迷宫-python2022-03-01 15:02:01

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 X 星球的一处迷宫游乐场建在某个小山坡上。它是由 10 \times 1010×10 相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则: LL 表示走到左边的

  • 全排列问题2022-02-27 16:04:06

    与此题很像​​​​​​https://blog.csdn.net/nnnnzhlll/article/details/123165403 最主要的还是一个check函数看它有没有被选择过 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; int vis[10010]; int n; int a[10010]; int check[10010];

  • 【洛谷 P5495】【数学】Dirichlet 前缀和2022-02-26 10:01:22

    【洛谷 P5495】【数学】Dirichlet 前缀和 题目 解题思路 如果求出每一个数的因子然后累加必定TLE 可以先用埃氏筛求出质数 然后质数x对其的倍数y,a[y]+=a[y/x] 因为是从小到大,累加过去的,就能累加到所有除x的因子的数 代码 #include<iostream> #include<cstdio> using name

  • 图的深度遍历(C语言)邻接矩阵表示2022-02-25 13:01:18

      知识讲解: 图的遍历分为两种,深度遍历与广度遍历。这里讨论深度遍历。 以上图为例讨论图(图片来自《算法笔记》)的深度遍历: 设图形的顶点数为n。 先从顶点v0开始,用一个数组vis[n]来表示该顶点是否被访问,如果未被访问,vis[顶点编号]=0,否则为1.从v0开始访问,则vis[0]=1,v0可以连通v1与v

  • 10.1 bfs思想 ——【全球变暖】(也有dfs的代码)2022-02-23 22:02:44

    文章目录 题目描述输入描述输出描述输入输出样例最终代码c/c++深度优先法DFS广度优先法BFS(用队列实现) 过程理解 题目描述 你有一张某海域 N x N 像素的照片,"."表示海洋、“#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中"上下左右"

  • 2022-2-23 Leetcode 47.全排列 II2022-02-23 12:32:11

    重点在于剪枝,这个和 组合总和 的剪枝类似。 class Solution { vector<int> vis; public: void backtrack(vector<int>& nums, vector<vector<int>>& ans, int idx, vector<int>& perm) { if (idx == nums.size()) { a

  • 1134 Vertex Cover (25 分) (图论 图的存储2022-02-22 18:02:46

    添加链接描述 通过点将每个边相关联 每次暴力对每个点判断所连的边是否出现 #include<bits/stdc++.h> using namespace std; const int N=1e4+9; vector<int>v[N]; int n,m; int main(){ cin>>n>>m; for(int i=1;i<=m;i++){ int a,b; cin>>a>>b; v[a].push_back(

  • 迷宫问题的DFS和BFS解法2022-02-21 10:03:55

    迷宫问题的DFS和BFS解法 ​ 写在前面:通过迷宫问题来熟悉dfs和bfs解法,加深对于这两种搜索方式的理解与运用 DFS算法 注:DFS可以求第一条路径,也可以求最短路径 算法过程 dfs(顶点V) { 标记顶点V以遍历; for(对于每一个邻接V且未被标记的顶点u); dfs(u); } Map = [[

  • 1118 Birds in Forest (25 分) (并查集2022-02-20 19:33:05

    添加链接描述 #include<bits/stdc++.h> using namespace std; const int N=1e4+9; int fa[N]; int find(int x){ if(x==fa[x])return fa[x]; return fa[x]=find(fa[x]); } void merge(int x,int y){ x=find(x),y=find(y); if(x!=y)fa[y]=x; } int vis[N],cnt

  • 蓝桥杯——逗志芃的暴走 (C++)2022-02-20 19:30:00

    题目来源:蓝桥杯算法训练 知识点:搜索、Floyd算法 问题描述   逗志芃是有妹子的现充,但是有时候妹子就是烦恼。因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点。由于逗志芃之前抽机花费了太多的时间,不久以后又要微积分考试了,所以现在被妹

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

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

ICode9版权所有