ICode9

精准搜索请尝试: 精确搜索
  • BZOJ #4498. 魔法的碰撞2022-06-28 19:35:35

    题面传送门 首先你先不要管中间距离大于两个人之间最大值的情况,先假设其全部为等于最大值。设这个和为\(j\),则这个方案的方案数为\(C_{L-j+n}^{n}\)。 因为\(d_i\)不大,所以我们可以将所有\(nd\)种距离的方案数算出来之后计算答案即可。 关于两个点的最大值容易想到按照权值大小排

  • [AcWing 10] 有依赖的背包问题2022-06-20 23:33:15

    点击查看代码 #include<iostream> #include<cstring> using namespace std; const int N = 110; int n, m; int h[N], e[N], ne[N], idx; int v[N], w[N], f[N][N]; void add(int a, int b) { e[idx] = b, ne[idx] = h[a], h[a] = idx ++; } void dfs(int u) { f

  • luoguP5044 [IOI2018]会议2022-06-18 12:34:08

    最近打模拟赛遇到的,不得不说非常神仙。 又难打又难调,写篇题解纪念一下。 题目链接:P5044。 Subtask2 我们先来看这个部分分。 这是一个比较显然的区间dp。(虽然我在模拟赛时并没有看出来) 设 $ dp_{l,r} $ 为区间 $ [l,r] $ 的最优解, $ p $ 为这个区间内任何一个最大值的位置。 当 $

  • 16 | KMP 算法的典型应用(匹配位置、求出所有相同前缀后缀、最多字串重复次数)2022-06-17 20:04:09

    记忆两段代码(注意字符串从下标为 1 开始存储) 求 解 next 数组的代码 // 计算字符串 p 的next 值 for(int i=1,j=0;i<lenp;i++){ while(j&&p[i+1]!=p[j+1]) j=ne[j]; if(p[i+1]==p[j+1]) j++; ne[i+1]=j; } 子串 匹配 代码 for(int i=0,j=0;i<lens;i++){ while(j&

  • [AcWing 285] 没有上司的舞会2022-06-03 13:04:07

    点击查看代码 #include<iostream> #include<cstring> using namespace std; const int N = 6010; int n; int happy[N]; int h[N], e[N], ne[N], idx; bool has_father[N]; int f[N][2]; void add(int a, int b) { e[idx] = b, ne[idx] = h[a], h[a] = idx ++;

  • CF EDU 96 D - String Deletion2022-05-31 16:36:04

    D - String Deletion 贪心、链表 要想操作次数最大,设当前已经删到了第 i 个字符,那第一步操作就要找到 i 后面第一个有连续0/1的串,删掉其中一个 找到 i 后面第一个有连续0/1的串:将这些可以被删去的位置记录到 set 里,二分找到 i 后面第一个,找到了就删去 删去元素后可用链表来维护当

  • 【spfa】AcWing851.spfa求最短路——模板题2022-05-29 16:00:07

    AcWing851.spfa求最短路 题解 spfa算法即为Bellman-Ford的优化,只有每次dist[a]发生了变化才需要更新对应的dist[b],通过此减少循环次数 #include <iostream> #include <cstring> #include <queue> using namespace std; const int N = 1e5 + 10; bool st[N]; int dist[N]; int

  • Summernote 粘贴时出现重复图片的BUG2022-05-21 00:34:17

    主要原因是Paste事件被重复处理      在callback 中新增onPaste方法,核心逻辑就是判断出粘贴板里的数据是不是图片,如果是图片的话就调用preventDefault终止剩余的事件执行. onPaste:function (ne){ var _clipboardData=(ne.originalEv

  • 【哈希表】AcWing840. 模拟散列表 —— 哈希入门(拉链法与开放寻址法)2022-05-20 23:03:36

    AcWing840. 模拟散列表 题解 哈希函数:将题目输入的数映入成0~10^5范围的下标存入数组。 哈希取模的数最好是质数,这样冲突的概率最小(数学上存在证明,感兴趣可去搜) 拉链法 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N = 10000

  • 磊磊零基础打卡算法:day15 c++ kmp算法简单操作2022-05-18 23:31:49

    5.18 kmp算法 核心思想:在每次失配时,不是把p串往后移一位,而是把p串往后移动至下一次可以和前面部分匹配的位置,这样就可以跳过大多数的失配步骤。而每次p串移动的步数就是通过查找next[ ]数组确定的。 成员变量:ne[]记录的匹配数组;双指针i,j; KMP主要分两步:求next数组、匹配字

  • 磊磊零基础打卡算法:day12 c++静态单链表2022-05-15 18:01:33

    5.15 静态单链表 简单的方法: 成员变量: int e[N],//存放节点的值 ne[N],存放结点的next head,头结点指针 idx;变化的指针 初始化: void init() { head = -1;//头结点最初指向-1 idx = 0;//初始的位移指针是0; } //初始化链表 在头部位置添加: void add_to_head

  • GNN、DeepWalk 和 GraphSage2022-05-09 02:32:02

    https://easyai.tech/blog/gnn-deepwalk-graphsage/ 参考这篇文章   给定一个部分标记的 graph G,目标是利用这些标记的节点来预测未标记的节点的标签。它学习用包含邻域信息的 d 维向量 h_v 表示每个节点。即: 其中 x_co[v] 表示与 v 相连的边的特征,h_ne[v] 表示 v 

  • [AcWing 851] spfa求最短路2022-05-07 10:33:01

    点击查看代码 #include<iostream> #include<cstring> #include<queue> using namespace std; const int N = 1e5 + 10; int n, m; int h[N], e[N], ne[N], w[N], idx; int dist[N]; bool st[N]; void add(int a, int b, int c) { e[idx] = b; w[idx] = c

  • 基础算法 840.模拟散列表(哈希表)2022-05-04 22:01:14

    将一个较大的空间映射到一个较小的空间下。 采用数组模拟链表头插法的操作。 e[ ]储存的是插入的元素的值。 h[ ]储存的是插入的元素对应的哈希值的指针。 ne[ ]储存的是当前指针指向的下一个位置的指针。 #include<cstring> #include<iostream> using namespace std; const int

  • Coolest Ski Route2022-05-03 19:34:41

    求最长路,可以用spfa做, 数组要开到1e6,否则会超时 #include <iostream> #include <queue> #include <cstring> using namespace std; const int N = 1e6 + 10; const int INF = 0x3f3f3f3f; #define x first #define y second int ne[N], e[N], w[N], h[N], idx, in[N]; type

  • 【模板】拉格朗日插值2022-04-30 09:31:54

    link 开始学习数学了…… 众所周知拉格朗日插值可以解决如下问题:给定N个点,可以在\(O(N^2)\)的时间内求出过这些点的次数和项数都为N-1的多项式,并且求出该多项式在另一个自变量下的取值。 拉格朗日插值的思想是构造。用一句经典的话来说,假如我们有N个项数和次数都为N-1的函数 \(g_1

  • [Acwing 164. 可达性统计] 题解报告2022-04-24 13:32:24

    事实上,这道题并不需要拓扑排序。(当然,拓扑排序还是更快) 题目分析 首先,题目中说了,这是一个有向无环图,所以,我们可以考虑 \(\texttt{DP}\) / 记搜 / 拓扑排序 来解决这道题。 (我的做法是记忆化搜索。 雷区分析 刚开始我用 \(f[i]\) 表示从 \(i\) 出发能够到达的点的个数,利用记忆

  • 200 邻接表2022-04-18 13:00:15

    视频链接:                     // 邻接表 头插法 #include <iostream> #include <cstring> #include <algorithm> #include <vector> using namespace std; const int N = 510,M = 3000; int n,m,a,b,c; int h[N],e[M],w[M],ne[M],idx; void add(int a,int

  • AcWing 477. 神经网络2022-04-09 16:03:39

    题目传送门 解题思路: DAG求拓扑序 利用拓扑序列,根据题意做递推 #include <bits/stdc++.h> using namespace std; const int N = 110, M = N * N / 2; int n, m; int f[N], din[N], dout[N]; //邻接表 int e[M], h[N], idx, w[M], ne[M]; void add(int a, int b, int c) {

  • AcWing 10. 有依赖的背包问题2022-04-04 21:33:43

    题目链接 https://www.acwing.com/problem/content/10/ 题解 需要注意的点就是,f[u][j]实际上是优化过第第二维后的状态表示,原状态表示应该是f[u][i][j]:对于根结点u,考虑其前i个子树,总体积不超过j的最大价值 dfs(root)的递归含义是:以root为根,考虑其所有子树,总体积不超过max_V的最大

  • 邻接表存树2022-04-04 17:00:06

    我们用邻接表存储的时候,就是将这个点的所有直接子节点存储在以这个点为开头的链表上。 必须的变量 e[i]:第i个编号对应的点。 h[i]:a这个点所连接的第一个直接子节点的编号。 ne[i]:第i个编号的点的下一个点 idx:当前存储到的编号 加边操作 也就是将a点的新边对应的点b接到a链表表头

  • 有向图的拓扑序2022-04-04 13:31:43

    #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N=10010;int n,m;int h[N],e[N],ne[N],idx;int q[N],d[N];void add(int a,int b){ e[idx]=b; ne[idx]=h[a]; h[a]=idx++;}bool topsort(){ int hh=0,tt=-1; for(i

  • 图中点的层数2022-04-04 12:32:53

    #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N=10010;int n,m;int d[N],q[N];int h[N],e[N],ne[N],idx;void add(int a,int b){ e[idx]=b; ne[idx]=h[a]; h[a]=idx++;}int bfs(){ int hh=0,tt=0; q[0]=1; mem

  • cf432 D. Prefixes and Suffixes2022-04-01 01:01:48

    题意: 输出所有的 \(len\),使得给定字符串的长度为 \(len\) 的前缀与长度为 \(len\) 的后缀相等;并输出每个这种前缀在整个串中(作为子串)的出现次数。 思路: 前缀后缀啥的显然是 kmp 的 next 数组。初始 len=n,不断让 len=next[len] 就能找出所有的 len 重点是它们的出现次数怎么求。对

  • [Acwing蓝桥杯DP] 1220. 生命之树2022-03-31 23:34:23

    题目链接:1220. 生命之树 - AcWing题库 题目大意:给n个节点的一颗树,树上的每个节点都有一个权值为w,求这颗树的子数的最大权值和。 数据范围:1<= n <=1e5                   w<=1e6 , w有可能是负数 由于数据比较大,可能爆int 要用long long 分析: 这个题要用树形DP,实际上终点

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

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

ICode9版权所有