ICode9

精准搜索请尝试: 精确搜索
  • 【ybtoj 高效进阶 2.3】 【kmp】 子串查找2021-03-20 09:05:04

    【ybtoj 高效进阶 2.3】 【kmp】 子串查找 题目 解题思路 kmp模板题 kmp的策略是调整 k k k 点位置(减小 k k

  • 【Ybtoj 第9章例2】最大异或对【Trie树】2021-03-19 21:01:22

    解题思路 考虑到异或的性质:两个二进制数出现不同的数位越靠前,异或之后的数就越大。我们考虑用 T r i e Trie

  • ybtoj·最大均值【二分】2021-03-06 11:00:24

    最大均值 Description--解题思路--代码-- Description– 高效进阶「基础算法」第3章 二分算法课堂过关 例题3 解题思路– 二分答案 把所选子串每个数减去mid,若子串和仍为正数,则该子串的平均值大于mid 代码– #include <iostream> #include <cstdio> #include <cmath>

  • 【YbtOJ#608】前缀编码2021-02-28 17:34:00

    题目 题目链接:https://www.ybtoj.com.cn/contest/127/problem/1 \(n,\sum|S|\leq 5\times 10^5\)。 思路 由于每一个 ? 只能填 \(0\) 或 \(1\),不难想到 2-sat。 将串安装长度排序,把每一个 ? 分别当作 \(0\) 和 \(1\) 一次扔进一棵 Trie 中,Trie 上每一个节点维护以该节点结尾的字

  • 【YBTOJ】【Luogu P4570】[BJWC2011]元素2021-02-26 21:32:36

    链接: 洛谷 博客园 题目大意: 有 \(n\) 个物品,第 \(i\) 个物品有一个权值和一个序号。你需要在这之中选若干个物品,使得其中任意一个物品序号不会被其他数表示。求出一个权值最大的可行方案。 正文: 可以贪心权值从大到小选择当前物品是否可行。 如何证明这个的正确性呢?假设有三个物品

  • YbtOJ#732-斐波那契【特征方程,LCT】2021-02-26 20:04:27

    正题 题目链接:http://www.ybtoj.com.cn/contest/125/problem/2 题目大意 给出\(n\)个点的一棵树,以\(1\)为根,每个点有点权\(a_i\)。要求支持\(m\)次操作 修改一个修改一个节点的父节点 修改一条路径的权值为\(w\) 给出\(u\)询问\(Fbi(a_u)\) 给出\(u,v\),将路径\(u->v\)的点权排

  • YbtOJ#732-斐波那契【特征方程,LCT】2021-02-26 19:58:06

    正题 题目链接:http://www.ybtoj.com.cn/contest/125/problem/2 题目大意 给出 n n n个点的一棵树,以 1 1

  • YbtOJ#763-攻城略池【线段树合并】2021-02-21 15:01:48

    正题 题目链接:http://www.ybtoj.com.cn/problem/763 题目大意 给出\(n\)个点的一棵树,每个\(d_i=0\)的点每秒会产生一个士兵往根节点走,走到一个节点让一个节点\(d_i\)减一(为\(0\)就不管)。 求需要多久才能让所有点的\(d\)值变为\(0\) \(1\leq n\leq10^5,1\leq d_i\leq 10^8\) 解

  • 【YbtOJ#532】往事之树2021-02-18 20:33:17

    题目 题目链接:https://www.ybtoj.com.cn/contest/117/problem/3 \(n\leq 2\times 10^5\)。 思路 不难发现两个串 \(r(x),r(y)\) 的 LCS 就是它们 LCA 的深度。考虑枚举 LCA,然后求子树内所有字符串的 LCP 最大值。 发现题目给出的是一棵 Trie,我们可以直接离线构造广义 SAM。那么此

  • YbtOJ#832-鸽子饲养【凸包,Floyd】2021-02-17 17:01:43

    正题 题目链接:https://www.ybtoj.com.cn/contest/116/problem/3 题目大意 给出两个大小分别为\(n,m\)的点集\(A,B\)。 求出\(B\)的一个最小子集使得该子集的凸包包含了所有点集\(A\)中的点。 无解输出\(-1\) \(2\leq n\leq 10^5,3\leq m\leq 500\) 解题思路 选出的子集肯定是一

  • 【YbtOJ#482】爬上山顶2021-02-17 16:33:57

    题目 题目链接:https://www.ybtoj.com.cn/contest/116/problem/2 \(n\leq 5\times 10^5,x,y\leq 10^6\)。 思路 考虑求出点 \(i\) 左右分别能看到的最高点,然后在两者之间取最大值。 以左边为例,可以发现肯能造成贡献的一定位于上凸壳上,然后点 \(i\) 被贡献到的其实就是我们把点 \(i

  • 【YbtOJ#593】木棍问题2021-02-15 17:32:46

    题目 题目链接:https://www.ybtoj.com.cn/contest/114/problem/3 \(n,m\leq 40\)。 思路 黑白染色,考虑如下建图 把 \(B\) 看作 \(A+(B-A)\),那么一个点有 \(x\) 流量就需要 \(\binom{2}{x}A\) 贡献。对于 \(x\in[0,4]\),做差分之后分别为 \(0,A,2A,3A\),恰好严格不减,这样如果选择

  • 【YbtOJ#643】机器决斗2021-02-14 16:02:04

    题目 题目链接:https://www.ybtoj.com.cn/contest/113/problem/3 \(n\leq 3\times 10^5,A,D,ATK\leq 10^4\)。 思路 首先直接令 \(b_i=\lceil\frac{d_i}{ATK}\rceil\)。 不难发现如果选择打一个机器人,那么一定会把它打到死。不然先打下一个打死的会更优。 那么问题转化为有一个长

  • YbtOJ#643-机器决斗【贪心,李超树】2021-02-14 15:32:27

    正题 题目链接:https://www.ybtoj.com.cn/problem/643 题目大意 n n n个机器人,第 i i i个攻击力为

  • YbtOJ#643-机器决斗【贪心,李超树】2021-02-14 15:04:05

    正题 题目链接:https://www.ybtoj.com.cn/problem/643 题目大意 \(n\)个机器人,第\(i\)个攻击力为\(A_i\),防御为\(D_i\)。 然后你每次可以对一个机器人造成\(Atk\)点伤害,之后所有机器人对你进行一次攻击。 开局可以删除两个机器人,求最少受到多少伤害。 \(n\in[3,3\times 10^5],A_i

  • Ybtoj 643. 「平衡树」机器决斗2021-02-14 14:32:04

    题面传送门 考试时没转浮点型丢了\(100\)分我是个sb 一个机器人要被打的次数为\(\frac{D}{ATK}\)向上取整,下文中的\(D\)就代指这个。 首先考虑没有提前爆破的情况。 设\(i\),\(j\)分别为相邻的点,则考虑哪个放在前面更优。 如果\(i\)放在前面,伤害为\(A_j\times(D_i+D_j-1)+A_i\times

  • 【YBTOJ】【BZOJ3688】折线统计2021-01-25 19:02:07

    题目大意: 有 \(n\) 个点,现在这些点中取若干点构成一个集合 \(S\),对它们按照 \(x\) 坐标排序,顺次连接,将会构成一些连续上升、下降的折线,设其数量为 \(f(S)\)。给定 \(k\),求满足 \(f(S)=k\) 的方案数。 正文: 首先,照题目所述,按照 \(x\) 坐标排序。然后设 \(f_{i,j,[0,1]}\) 表示前 \(

  • 【YBTOJ】【Luogu P2605】[ZJOI2010]基站选址2021-01-25 08:32:32

    链接: 题目 题目大意: 在 \(n\) 个点里建不超过 \(k\) 个基站,每个点的位置是 \(d_i\),在 \(i\) 建基站的钱是 \(c_i\),如果在 \(i\) 不超过 \(s_i\) 的范围内没有基站,就要再付 \(w_i\)。求最小费用。 正文: 考虑动态规划。设 \(f_{i,j}\) 表示在第 \(i\) 个点建第 \(j\) 个基站的最小费

  • 【YBTOJ】字符串哈希2021-01-23 09:57:53

    思路: 直接hash就可以了 c o d e code code #include<iostream> #include<cstdio> #include<cstring&

  • YbtOJ 字符串处理课堂过关 例1 数字反转【bfs】2021-01-22 09:04:18

    题目 思路 这道题直接字符数组模拟即可。 发现一个问题: string类型不可直接逐位赋值。 代码 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; char s[10010],ss[10010]; int w=0,ww=0; int main() { cin>>s; if(s[0]=='-

  • 【YBTOJ】【Luogu P4667】[BalticOI 2011 Day1]Switch the Lamp On2021-01-22 08:33:49

    链接: 题目 题目大意: 在一个 \(n\times m\) 的网格图中: 如果当前格子是 \,则可以让格子左上和右下的点连接,/ 则相反。但如果格子是 / 还要让左上和右下的点连接,就要增加 \(1\) 个价值。问从 点\((1,1)\) 到 点\((n+1,m+1)\) 的最少价值是多少,无解则输出 NO SOLUTION。 正文: 先考虑

  • 【Ybtoj 第5章 例题2】山峰和山谷【广搜】2021-01-09 16:32:17

    解题思路 首先要知道: 周围只有高的,就是山谷 周围只有矮的,就是山峰 有高有矮,谷、峰都不是 没高没矮是山谷也是山峰 好顺 我们每次从一个没搜过的点开始广搜,只把那些高度都相同的加进队列,对于高度不同的统计数量,搜完后如果大于起点高度的没有一个就是山峰,反之则是山谷。

  • 【YbtOJ高效进阶 深搜-2】数独游戏2021-01-09 14:29:22

    小目录 链接题目描述样例输入样例输出思路代码 链接 YbtOJ高效进阶 深搜-2 题目描述 给出一个数独,让你把它填完 样例输入 4.....8.5.3..........7......2.....6.....8.4......1.......6.3.7.5..2.....1.4...... ......52..8.4......3...9...5.1...6..2..7........3.....

  • 【Ybtoj 第5章 例题1】走迷宫【广搜】2021-01-09 13:59:30

    解题思路 这道题是一道广搜模板题。。。完。。。 代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; string s; const int dx[5]={0,1,-1,0,0}; const int dy[5]={0,0,0,1,-1}; int n,sx,sy,tx,ty,a[2000][2000],v[

  • 【Ybtoj 第3章 例题3】最大均值【二分】2021-01-09 13:32:45

    解题思路 这道题显然需要二分一个平均值, 问题是小数怎么二分呢? 我们可以定义 l , r , m i

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

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

ICode9版权所有