ICode9

精准搜索请尝试: 精确搜索
  • 平衡树板子2022-07-23 16:34:50

    fhq Treap #include <bits/stdc++.h> using namespace std; #define rg register #define I inline #define gc getchar #define rep(i, a, b) for(int i = a; i <= b; ++i) #define per(i, a, b) for(int i = a; i >= b; --i) I int read(){ rg char ch = gc();

  • P5017 [NOIP2018 普及组] 摆渡车 题解2022-07-22 22:03:46

    P5017 [NOIP2018 普及组] 摆渡车 题目 [NOIP2018 普及组] 摆渡车 题目描述 有 \(n\) 名同学要乘坐摆渡车从人大附中前往人民大学,第 \(i\) 位同学在第 \(t_i\) 分钟去 等车。只有一辆摆渡车在工作,但摆渡车容量可以视为无限大。摆渡车从人大附中出发、 把车上的同学送到人民大学、再

  • 温故知新,Linux命令知多少,学习Bash Shell2022-07-22 20:02:38

    $* 和 $@ 在 Bash 中没有双引号时, 它们两个被扩展后, 结果是一样的, 都是表示外部输入的参数列表. 当有双引号时, 如 “$*”, “$@”, 这个时候, 前者表示的是用 IFS (Internal Field Separator) 分隔符连接起来的统一字符, 后者则表示的是输入的每个参数. 举例如下 文档名字为

  • Educational Codeforces Round 132 (Rated for Div. 2) C2022-07-22 13:03:50

    https://codeforces.com/contest/1709/problem/C 题意 给你一个只包含{(,),?}的字符串。问有没有可能通过把?变成(或者),使得只存在唯一的改变方法能让字符串变为regular的 regular定义:A regular bracket sequence (or, shortly, an RBS) is a bracket sequence that can be transf

  • 可持久化杀手——rope学习笔记2022-07-22 12:13:22

    概述 std::rope,内部一说是可持久化平衡树,一说是块状链表。 它可以实现很多可持久化数组问题。 基本使用 #include<bits/extc++.h> using namespace __gnu_cxx; // 引入rope rope<char> a; //建立一个存储char的rope crope a; //crope实际上就是rope<char> a.push_back('Y'); //

  • 树上启发式合并2022-07-22 11:42:28

    模板 #include <iostream> #include <cstdio> using namespace std; const int N = 100010; int n, c[N], head[N], ver[N << 1], nex[N << 1], tot, cnt[N], num[N], siz[N], son[N], L[N], R[N], dfn, pos[N], maxn; long long sum[N], ans[N]; inlin

  • LeetCode229 多数元素 II2022-07-22 11:33:39

    LeetCode229 多数元素 II 通过消除元素的方法确定候选, 即候选元素可以被消除\(\frac{n}{3}\)次. class Solution: def majorityElement(self, nums: List[int]) -> List[int]: proposal_1, proposal_2, cnt_1, cnt_2, n = 0, 0, 0, 0, len(nums) for i in

  • dijkstra最短路算法(堆优化)2022-07-22 10:00:20

    这个算法不能处理负环情况,请转到Floyd算法或SPFA算法(SPFA不能处理负环,但能判断负环) SPFA(SLF优化):https://www.cnblogs.com/yifan0305/p/16391419.html 代码很长,耐下心来看完,存储方法为链式前向星存储。 (如果内存放得下的话,建议稠密图用邻接矩阵(或者跑floyd),稀疏图用邻接表,只是

  • tarjan vDCC缩点 模板2022-07-22 00:38:19

    代码 //fw #include<iostream> #include<cstdio> #include<fstream> #include<algorithm> #include<cmath> #include<deque> #include<vector> #include<queue> #include<string> #include<cstring> #include<m

  • CF696B Puzzles 题解2022-07-20 09:04:49

    传送门: 洛谷 CF696B Puzzles 首先在此感谢 @OneZzz6174 大佬提供的学术支持。 思路 对于一个节点 \(i\) 的期望时间戳,我们记为 \(f_i\)。 与其他题解所述相似,我们根据 \(i\) 的父亲节点和它的兄弟节点可以得到 \(f_i\)。 具体地,它的兄弟节点对它的贡献(也是从它的父亲走到它这个节

  • 音乐会排队2022-07-19 23:32:07

    【问题描述】    N个人正在排队进入一个音乐会。人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人。队列中任意两个人A和B ,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的。写一个程序计算出有多少对人可以互相看见。   输入: 输入的第一

  • 1012 The Best Rank2022-07-19 15:05:53

    代码 #include <iostream> #include <cstdio> #include <string> #include <set> #include <vector> using namespace std; int r[1000000]={0}; char rc[1000000]; int crank[101]={-1}; int mrank[101]={-1}; int erank[101]={-1}; int arank[1

  • 【IOI2015】Towns2022-07-18 22:35:54

    一个简单的想法是先用 \(2n - 3\) 次求直径 \(A, B\) 是 \(D\),每次距离最远的点。然后中心一定在直径上。 然后由于度数 \(> 3\) ,可以找到每个叶子在这条链上的相应位置( \(i\) 所在到直径最近的点),就用 \(a_i = (d_{i, A} +d_{i,b} - D) / 2\) 可以得到的距离,然后 \(d_{i, A} - a_i

  • B - One More aab aba baa2022-07-18 17:32:54

    一道全排列的题,可以用dfs,也可以用stl内置的函数next_permutation dfs版本 #include <algorithm> #include <iostream> #include <vector> using namespace std; vector<string> c(41000); bool st[10]; int n, cnt; char b[10]; string a; void dfs(int m) { if (m &

  • 状压dp2022-07-17 17:06:50

    题目链接: https://www.luogu.com.cn/problem/P1896 题意: 在 \(n * n\) 的棋盘里面放 \(k\) 个国王,使他们互不攻击,共有多少种摆放方案。 国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 #include <bits/stdc++.h> using namespace std; #define

  • day212022-07-17 10:33:56

    1.剑指 Offer 15. 二进制中 1 的个数  与1同位与判断最低位是否是1,判断完右移继续判断下一个 1 class Solution { 2 public: 3 int hammingWeight(uint32_t n) { 4 int cnt = 0; 5 while(n){ 6 if(n & 1 == 1) cnt ++; 7 n >>=

  • 洛谷 P4198 楼房重建2022-07-16 18:32:54

    洛谷传送门 一道线段树维护区间前缀最大值个数的好题。 思路 易得连接 \((0,0),(i,H_i)\) 的线段斜率为 \(s_i = \frac{H_i}{i}\)。则题要求的就是满足 \(i \in [1,n], s_i > \max\limits_{j=1}^{i-1} s_j\) 的 \(i\) 的个数。考虑线段树维护。 线段树上每个结点维护当前区间 \([l

  • 力扣练习——26 分割数组为连续子序列2022-07-16 18:03:26

    1.问题描述 给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个子序列,其中每个子序列都由连续整数组成且长度至少为 3 。 一个子序列是从原始数组挑选一部分(也可以全部)元素而不改变相对位置形成的新数组 如果可以完成上述分割,则返回 true ;否则,返回 fals

  • 1104 天长地久 测试点22022-07-15 17:32:15

    易错点 测试点2,需要排序,先按n排,再按A排 如果用了map/vector,测试点0、1、3,每次循环完需要clear() 代码 #include <iostream> #include <cstdio> #include <string> #include <utility> #include <vector> #include <algorithm> using namespace std; bool is_nature(

  • PAT乙级 1002 写出这个数 C++2022-07-15 15:38:20

    //读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 #include <iostream>#include <stdio.h>#include <string.h> int main(void){ char num[102] = { 0 }; char pinyin[3] = { 0 }; int i = 0; int sum = 0; int cnt = 0; std::cin >> num;

  • 1096 大美数2022-07-14 20:02:59

    思路 当一个数的所有因子的和(不包括自身)大于或等于这个数,那么这个数就是大美数 代码 #include <iostream> #include <cstdio> using namespace std; bool is_b(int a){ int cnt=0; for(int i=1;i<a;i++){ if(a%i==0){ cnt+=i; } } if(cnt>=a){ return 1; } else{

  • 3362. 【NOI2013模拟】数数2022-07-14 20:00:39

    Description 神犇最近闲来无事,于是就思考哲学,研究数字之美。在神犇看来,如果一个数的各位能够被分成两个集合,而且这两个集合里的数的和相等,那么这个数就是优美的(具体原因就只有神犇才知道了)。现在神犇在思考另一个问题,在区间[A,B]中有多少个数是优美的?这个问题对于神犇来说很简单,相

  • 2022.7.14 模拟赛2022-07-14 18:31:29

    目录2022.7.14 模拟赛数独分糖果维修机器人小乔 2022.7.14 模拟赛 \(\to\text{link}\leftarrow\) 数独 思路: 大模拟 \(40min\) 写完调完,难度一般般 #include<bits/stdc++.h> using namespace std; inline int read(){ int x=0,f=1;char ch=getchar(); while(!isdigit(ch)){if(c

  • 【Coel.学习笔记】费用流的含义与基础运用2022-07-14 17:31:55

    基本含义 在一张流网络中,最大流是不唯一的。那么给每条边再加上一个费用值,所有最大流中费用和的极值就叫费用流。对应地,费用最小值为最小费用最大流,费用最大值为最大费用最大流。 算法内容 使用 EK 算法或 Dinic 算法,把 bfs 换成 SPFA 就可以求出最小费用最大流。 需要注意,当流网

  • Codeforces 1666F. Fancy Stack2022-07-14 16:38:02

    传送门 \(\texttt{Difficulty:2200}\) 题目大意 一个长为 \(n(1\le n\le5000,n\) 为偶数 \()\) 的升序序列 \(a(1\le a_i\le n)\) 。将 \(a\) 中的元素重新排布,组成序列 \(b\) ,使得 \(b_1 < b_2 > b_3 < b_4 > \ldots > b_{n-1} < b_n\) 并且 \(b_2 < b_4 < b_6 <

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

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

ICode9版权所有