ICode9

精准搜索请尝试: 精确搜索
  • 公平组合游戏2022-07-13 13:00:10

    目录公平组合游戏\(Nim\) 游戏概述与解法\(Nim\) 游戏及解法有向图游戏与 \(SG\) 函数概述习题P2197 【模板】nim 游戏P1247 取火柴游戏 公平组合游戏 \(Nim\) 游戏 参考 概述与解法 \(Nim\) 游戏是 \(ICG(Impartial\ Combinatorial\ Games)\) 满足下列条件的游戏才算 \(ICG\) :

  • 1078 字符串压缩与解压 较简单2022-07-12 22:31:07

    代码 #include <iostream> #include <cstdio> #include <string> using namespace std; int main() { char ch; string s; char tmpc; int tmp=0; cin>>ch; getchar(); if(ch=='C'){ getline(cin,s); for(int i=0;s[i]!=NULL;i+

  • Codeforces Round #805 (Div. 3) A——E补题2022-07-12 22:00:59

    A. Round Down the Price 题意: 给一个数n,要求找到离这个数最近的10的幂次。然后输出两者差值 思路:看了下数据范围,1e9,直接枚举就好了。从1e9开始,如果大于n就除10,否则就停止,相减即可 解决代码: void solve() { int n; cin >> n; int a = 1e9; while(a > n) { a /= 10; } co

  • 平衡树——splay 一2022-07-12 10:03:38

    splay 一种平衡树,同时也是二叉排序树,与treap不同,它不需要维护堆的性质,它由Daniel Sleator和Robert Tarjan(没错,tarjan,又是他)创造,伸展树是一种自调整二叉树,它会将一个节点沿着到根的路径旋转上去。 空间效率:On 摊平时间效率:Ologn   存储结构 int ch[N][2],fa[N];//左孩子,右孩子,

  • 1029 [NOIP2007]矩阵取数游戏 区间DP2022-07-12 04:00:07

    链接:https://ac.nowcoder.com/acm/contest/24213/1029来源:牛客网 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素; 2

  • 【图论/平面图】AcWing 403. 平面2022-07-11 15:42:29

    平面图 首先介绍一下平面图的相关性质: 若图 \(G\) 能被画在平面上且不同的边仅在端点处相交,则称图 \(G\) 为平面图。画出的没有边相交的图称为 \(G\) 的平面表示或平面嵌入。 一个图的平面嵌入会将整个平面划分成若干个互不连通的区域,每个区域称为一个面。 其中,无界的区域称作外

  • P3346 [ZJOI2015]诸神眷顾的幻想乡2022-07-11 12:06:02

    传送门 题目大意 一棵 \(n(1\le n\le10^5)\) 个节点的树,每个树上有一个颜色值 \(c_i(1\le c_i\le10)\) 。求树上本质不同的路径数,两条路径本质不同当且仅当路径上形成的颜色序列本质不同,保证度数为 \(1\) 的节点数量 \(<20\) 。 思路 如果只考虑从上到下的路径,那么把这棵树当成一

  • AcWing 356. 次小生成树2022-07-10 20:36:37

    分析 这题做法很简单: 跑一遍 \(\texttt{MST}\)(最小生成树),把这棵树建立起来,上面的边标记为树边。 枚举非树边 \((u, v)\),记边权为 \(w\),考虑这条边能够提供的增量 \(del\)。 具体来说:只需要求出树上 \(u\to v\) 的路径上的边的最大值 \(mx_1\) 和严格次大值 \(mx_2\)(也就是保证

  • 脑筋急转弯-6114. 移动片段得到字符串2022-07-10 17:02:33

    问题描述 给你两个字符串 start 和 target ,长度均为 n 。每个字符串 仅 由字符 'L'、'R' 和 '_' 组成,其中: 字符 'L' 和 'R' 表示片段,其中片段 'L' 只有在其左侧直接存在一个 空位 时才能向 左 移动,而片段 'R' 只有在其右侧直接存在一个 空位 时才能向 右 移动。 字符 '_' 表示可以

  • treap(小根堆)模板2022-07-10 15:33:37

    总结教训 对于treap使用小根堆性质,一定要特判左右子树是否存在,因为空节点的优先级为0,是最高的,不特判会出错我就这么错了,so 一定要特判!一定要特判!一定要特判!重要的事情说三遍 本文代码根据P3369 【模板】普通平衡树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)写的 模板,有注释:

  • 1052 卖个萌 测试点1、22022-07-10 15:00:56

    错误点 须考虑题干中提到“若用户选择的序号不存在”,可能会大于上限,也可能会小于等于0的情况 注意点 在一串字符中选取特定字符作为输入 代码 #include <iostream> #include <cstdio> #include <string> using namespace std; string a[11]; string b[11]; string c[11]; int mai

  • 洛谷P2414 【[NOI2011]阿狸的打字机】题解(AC自动机上fail树+主席树/普通线段树/树状数组)2022-07-10 12:03:12

    前言(在博客园发布的第一篇题解): 这可是道好题啊,我用的是利用可持久化线段树在线查询具有历史版本的基于AC自动机的fail树,当然更多的大佬是用普通线段树或树状数组离线查询,蒟蒻表示不想离线,就写了个在线的,码量也不大,去掉注释可达到 3kb 以内(没比离线多多少),而且很多都是模板代码,敲起

  • 洛谷 p2002 消息扩散 题解以及注意2022-07-09 18:06:41

    题目:   洛谷地址:https://www.luogu.com.cn/problem/P2002 分析:   简单读题后可以想到:     一,tarjan对图进行缩点。     二,求入度为0的点的个数即为答案。   简单的对步骤二的证明:     对于每一个点,如果入度>0,那么它可以从其他点得到消息,当入度为0时,则没有可以给

  • P54952022-07-09 10:31:33

    Dirichlet 前缀和 复健一下子。。。 直接暴力枚举因数是 \(O(n \ln n)\) 的,这里卡的很紧,基本过不掉。 我们类似埃氏筛的方法来做前缀和即可,时间复杂度是 \(O(n\ln \ln n)\) 的,就能过了。 代码: #include<iostream> #include<cstdio> #define ll long long #define uint unsigned in

  • 对拍2022-07-09 09:04:20

    有关对拍 \(prework\) 你需要随机数生成器.exe,sol.exe,bruteforce.exe,以及对拍.exe \(code\) //rand.cpp #include<bits/stdc++.h> using namespace std; #define int long long const int mod=1e9; signed main(){ freopen("in.in","w",stdout); int x=

  • [游记]这次应该叫高二上一调-2022.7.82022-07-08 19:02:01

    感谢没吃晚饭的 $Debuf$ 成功爆炸 T1 耗掉一个小时 T2 耗掉一个小时 谁想到 T3 是个大模拟……思路和题解一样就是没写完恶心死了 A. 匹配 B. 回家 C. 寿司 赛时得分:$300/400$ 赛时排行:$Rank2$ 又强又可爱的 $Eafoo$ 又是$Rank1$太强了%%%      ……有点诡异 那么这个蒟蒻是

  • 罪恶的开始——线性DP学习2022-07-08 19:00:13

    线性DP虽然是被称为DP的入门,其实它是DP的万恶之源,一切其它DP不过是在它上面加入优化 接下来给几个例题,可以让你深刻感受到DP状态设计的恶心 T1.[LuoguP4310]绝世好题 这题很多人第一眼看到会想到设计一个 \(f[i]\)代表以\(i\)为结尾的序列最大长度是多少,转移方程 显而易见是\(f[i]

  • TopCoder 17403 See All Differences2022-07-07 15:35:06

    这题和 https://atcoder.jp/contests/abc189/tasks/abc189_f 是相似的。 首先我们设\(f(mask,number)\)表示考虑若干个数,目前出现的差在\(mask\)中,最后一个数是\(number\)时,数列的期望长度。 但是我们发现这样比较难以转移,因为我们不知道转移过来的状态是否是合法的。(比如当你是ro

  • Leetcode 208 实现前缀树2022-07-07 12:33:01

    一、题目   Trie树(前缀树)是一种树形数据结构(多叉树),它可用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。   请你实现 Trie 类: Trie() 初始化前缀树对象。 void insert(String word) 向前缀树中插入字符串 word 。 boolean s

  • 7月6日测试题题解2022-07-06 19:04:18

    第一题:   FBI树   洛谷同题:https://www.luogu.com.cn/problem/P1087   分析:   题目要求我们根据一个01串构建树。   01串的长度为2^n,所以我们可以按照类似于线段树建树的方法建一棵满二叉树。由此观之,每一个节点p的儿子为p<<1,p<<1|1(p*2,p*2+1)。   代码如下: #include

  • [HNOI2010]合唱队2022-07-06 11:43:02

    原题链接 题解 首先本题只从左边和右边取,所以剩下的必然是区间,妥妥的区间DP,直接设状态: \(f[i][j][0]\) 表示第 \(i\) 人从左边插入区间 \(i+1,j\) \(f[i][j][1]\) 表示第 \(j\) 人从右边插入区间 \(i,j-1\) 因为第 \(i\) 个人从左边插入,根据题意,他就会小于前面的人,而前面的人要么

  • [USACO5.1]夜空繁星Starry Night2022-07-06 11:35:01

    原题链接 前言 蓝题祭。。。 题解 本题最大的难点就是判两个星系是否相似,根据数学知识,如果两个星系中的每个点之间的距离之和相等,则可以判断它们 \(similar\)。这样就简单了。 代码 \(1625B\),\(90\) 行。。。真的超长 Code: #include<bits/stdc++.h> using namespace std; void re

  • [NOI2002] 银河英雄传说2022-07-06 11:33:25

    原题链接 题解 考点:带权并查集。 设 \(d[x]\) 表示 \(x\) 节点前面的战舰数量,\(s[x]\) 表示以 \(x\) 节点为首的那一列战舰的总数,合并操作如下: void add(int x,int y) { int a=find(x),b=find(y); fa[a]=b; d[a]=s[b]; s[b]+=s[a]; s[a]=0; } 把 \(a\) 接到 \(b\),\(a\) 前面

  • 冷冻波2022-07-05 16:04:56

    [JSOI2010]冷冻波 传送门:题目传送门 题目描述 WJJ喜欢“魔兽争霸”这个游戏。在游戏中,巫妖是一种强大的英雄,它的技能Frozen Nova每次可以杀死一个小精灵。我们认为,巫妖和小精灵都可以看成是平面上的点。 当巫妖和小精灵之间的直线距离不超过R,且巫妖看到小精灵的视线没有被树木阻挡

  • 贪心题目选做2022-07-05 15:33:34

    NC18386 字符串 这道题几乎就是双指针的模板题了。 每次移动一下左端点,然后移动右端点知道满足条件 #include<bits/stdc++.h> using namespace std; int v[300] = {}; int32_t main() { string s; cin >> s; int l = 0 , r = -1 , len = s.size() , ans = 1e9 , k

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

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

ICode9版权所有