ICode9

精准搜索请尝试: 精确搜索
  • CSP2021PJT32021-11-07 10:02:39

    PJ-T3成功地给我上了一课 MAP映射——万物皆可映射 赛后代码 #include<bits/stdc++.h> using namespace std; int T,a,b,c,d,e; char s[35]; map<long long,int> q; inline int l(int x){ if(!x) return 1; int tot=0; while (x) x/=10,tot++; return tot; } inline lo

  • 差分约束系统2021-11-04 07:32:46

    负环: 因为负环肯定是越跑越短的,但是一个图上所有点都选上时,肯定不是最短路。因此,我们可以通过这一点来思考怎么处理负环: 处理负环的方式只有 \(\text{SPFA}\) ,\(\text{dijkstra}\) 是不能用的。 我们在每次更新边权时,如果是正边,那么只可能对下一个答案更新一次,所以出现负环,则是对

  • 2021ZR noip集训day122021-11-02 22:02:43

    http://zhengruioi.com/contest/1030 \(51+100+0+0=151\) T1 没预处理二的次幂直接飞了 A.数树 对于一棵没有边权的树,树上两个点的距离定义为两点间路径经过的边数。 现在告诉你一棵有 \(n\) 个点的树和 \(q\) 个询问,第 \(i\) 个询问给出 \(d_i\),请问树上有多少个点集 \(S\) 满足

  • CF689B Mike and Shortcuts2021-10-31 13:35:10

    水题解的一天。 题目大意 给定 \(n\) 个点 任意两点 \(i,j\) 间有权值为 \(|i-j|\) 的双向边,另有 \(n\) 条权值为 \(1\) 的单向边,求以 \(1\) 为起点的单源最短路径。 \(1\leqslant n\leqslant200000\) 解题思路 由于 \(n\) 太大了,\(n^2\) 条边不能接受。 考虑简化, 发现 \(i \to \

  • CF1606C Banknotes2021-10-30 22:00:54

    CF1606C Banknotes 题目大意:有 n 种钞票,面值分别为 1 0 a [ i

  • 【Ybtoj】【NOIP2021 模拟赛 B 组 Day7】A. DNA 序列【字典树】2021-10-30 14:31:27

    解题思路 Trie树存一下子串就行了,一开始用map被卡了两个点 代码 #include<bits/stdc++.h> using namespace std; string s,ss; int l,k,tot,ans; int tree[1000010][11],e[1000010]; void insert(string s) { int p=0; for(int i=0;i<k;i++) { int c=s[i]-'A';

  • 网络流题目选解2021-10-29 15:00:07

    这里有板子 最大流 view code namespace Flow { int tot=1,fi[N],ne[M],to[M],w[M],S,T,d[N],nn; inline void add(int x,int y,int c) { ne[++tot]=fi[x],fi[x]=tot,to[tot]=y,w[tot]=c; ne[++tot]=fi[y],fi[y]=tot,to[tot]=x,w[tot]=0; } inline bool bfs() { fill

  • CF1528A Parsa‘s Humongous Tree2021-10-29 11:31:41

    CF传送门 题目大意:大小为 n n n的一棵树 i i i号节点有权值范围

  • CF1481F-AB Tree【构造,背包】2021-10-27 11:35:40

    正题 https://www.luogu.com.cn/problem/CF1481F 题目大意 给出\(n\)个点的一棵树,在每个节点上填\(a/b\),要求恰好有\(m\)个\(a\)。要求每个节点到根路径上的字符串种类最少,输出方案。 \(1\leq m\leq n\leq 10^5\) 解题思路 被stoorz拉来做这题,被D了/kk 很顺理成章的一个思路是我

  • CF1481F-AB Tree【构造,背包】2021-10-27 11:32:54

    正题 https://www.luogu.com.cn/problem/CF1481F 题目大意 给出 n n n个点的一棵树,在每个节点上填 a /

  • CSP-S2021题解2021-10-26 09:34:27

    廊桥分配 description 机场分国内区和国际区,分别有\(m_1,m_2\) 架飞机会到来,每架飞机停在机场的时间为\([a_i,b_i]\) 。每架飞机来到机场后会选择在廊桥/远机位。飞机会优先停靠廊桥,而廊桥使用先到先得,即如果某架飞机到达时存在空闲的廊桥则会停靠,否则停靠远机位。现在总共\(n\)

  • CF1381C mastermind2021-10-25 19:34:14

    首先观察题目,发现题目要求 \(x\) 个一模一样的数 因为这 \(x\) 个数是定下来的,所以从这里突破 假设已经选择了 \(x\) 个数,还剩下 \(n-x\) 个数,我们的目标是从中取出 \(y-x\) 个数,然后让这些数在这 \(n-x\) 个位置里面移动,直到这 \(y-x\) 个数不与原序列上的数一样,然后剩下的 \(n-y

  • CSP-S2021 题解2021-10-25 15:02:44

    T1.廊桥分配 \(n^2\)暴力:直接枚举分配过程按照题意模拟。 对于每架飞机,设当前区域内廊桥总数为\(x\),那么只有当\(x\)到达一定值时,它才有贡献 考虑对于每个可能的\(x\),求出来它可以使得多少飞机有贡献,那么只要前缀和一下再\(O(n)\)扫一遍就可以求得答案 思考怎么求每个\(x\)的贡献

  • CSP-J2021-10-25 14:00:47

    \(T1\) 数论,比较好想。 #include <bits/stdc++.h> using namespace std; long long a, b, c; long long ans; int main() { scanf("%lld%lld%lld", &a, &b, &c); if(c - b >= a) { printf("%lld\n", a - 1); return 0; }

  • 常见模板2021-10-24 09:01:13

    模板代码 一、快读&快写 template <class T> inline void read(T &x) { x = 0; T f = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-') { f = -1; } ch = getchar(); } while (ch >= 

  • K倍数字2021-10-19 11:01:00

    K倍数字 题面: 根据题目可知 \(f(x)\) 跟数字每一位数位上的数字有关,我们考虑数位 dp。 传统的数位 dp 习惯从高位到低位,我们设 \(dp[i][j][o][l][m]\) 表示当前遍历到第 \(i\) 位,目前个数字之和是 \(j\),乘 \(k\) 后的个数字之和是 \(o\),乘 \(k\) 后的产生的进位是 \(l\),\(m\) 表

  • 佣兵模式2021-10-17 11:01:13

    前言 第一题签到之后就睡麻了,这题都没想出来,满脑子都是区间DP,没救了。 题目 \(\rm 128MB,1s.\) 无题目链接。 题目大意: 炉石传说最近出了一个新模式:佣兵模式。 虽然我一度觉得这个模式完全没有天梯有意思,没有技术含量,还要高额氪金,但是架不住高额的任务奖励,还是打了两轮,只能说暴雪

  • 扩散2021-10-16 22:30:40

    题目大意 一个点每过一个单位时间就会向四个方向扩散一个距离,如图。 两个点 a , b a,b a,b 连通,记作

  • [NOI2021SDPT2Test2]多项式时间哈密顿回路(二分答案+tarjan缩点+拓扑排序)2021-10-15 21:03:19

    “要求让最少个数的一种 'QwQ' 的个数最多的方案”,显然可知主体算法为二分答案,考虑 check() 怎样实现。 “保证对于每个 \(x\),最多有一个 \(a\) 使得 \(a\to x\) 成立”,故此转化关系可以抽象为树或基环树。尽管不保证连通,但我们可以建出超级源点,连接整个森林。对于树的情况,考虑

  • 2019CCSP A. 摘水果(拓扑排序)2021-10-15 10:33:23

    看到数据量1e2,直接暴力即可。每一轮暴力检查两棵树上度为0的点,寻找最优答案输出,同时更新deg数组。 #include <bits/stdc++.h> #define N 405 #define M 10005 using namespace std; int n, head[N], ver[2 * M], Next[2 * M], tot = 0, deg[N], a[2 * N], b[2 * N]; void add(int

  • P4383-[八省联考2018]林克卡特树【wqs二分,树形dp】2021-10-13 08:34:50

    正题 题目链接:https://www.luogu.com.cn/problem/P4383 题目大意 \(n\)个点的一棵树,要求删除\(k\)条边然后接上\(k\)条边权为\(0\)的边后形成的树上选择一对\((p,q)\)从\(p\)走简单路径到\(q\)的权值和最大。 \(n,k\leq 3\times 10^5\) 解题思路 其实可以理解为选恰好\(k+1\)条

  • CF1594C Make Them Equal2021-10-13 01:01:53

    在想只有一个数的时候混乱了,先思考再开码很重要。 https://codeforces.com/contest/1594/problem/C 题意 给定一个字符串和目标字符 \(c\),每次操作可以选中一个 \(i\),并将所有 \(j,\ j\mod i \not= 0\) 位置处的字符变为\(c\),问最少多少次操作可以将整个字符串上的每个数都变成目

  • 费用流2021-10-11 07:31:25

    费用流: 定义: 给定一个网络 \(G=(V,E)\), 每条边除了有容量限制 \(c(u,v)\) , 还有一个单位流量的费用 \(w(u,v)\) 当 \((u,v)\) 的流量 \(f(u,v)\) 时,需要花费 \(f(u,v) \times w(u,x)\) \(w\) 也满足对称性,即 \(w(u,v)+w(v,u)=0\) 则该网络中总花费最小的最大流称为 最小费用最大

  • 【学习笔记】2021.10.9 - zhengru IOI 七连测 Day62021-10-10 12:01:58

    T1聚会 正解 思路 简单题,开栈暴力存储每个 1 的位置,然后暴力向两边拓展更新答案即可。 当拓展到另一个 1 时应该立即停止,因为再进行拓展一定会多上一个 两个 1 之间的距离,一定不会更优,没有意义。 至此,每一段区间最多被遍历两次,复杂度 \(O(Tn)\) ,可以通过。 代码 屑代码 #

  • 10.8 补坑2021-10-09 06:32:57

    10.8 补坑 今天主要任务就是干掉之前没有做过去的模拟题,大概有个六七道,因为懒,所以不在向对应的场次总结里放了。同时单独拿出来也是意味着这些题的重要性和难度都是比较大的。 AVL 树 优美的平衡树,中序遍历字典序最小,显然是贪心。注意平衡树的特殊性质,树高是 log 级别的,也就是说可

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

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

ICode9版权所有