ICode9

精准搜索请尝试: 精确搜索
  • 【ybtoj 字符串进阶】A. 1.生日排序2021-12-18 16:31:16

    A. 1.生日排序 题面解题思路Code ybtoj 字符串进阶 A. 1.生日排序 题面 解题思路 就……排序就好了 Code #include <bits/stdc++.h> using namespace std; struct DT{ string s; int y, m, d; }a[110]; int n; bool cmp(const DT&k, const DT&l) { if(k.y ==

  • 【ybtoj 宽搜进阶】【二分】A. 1.最小权值2021-12-18 15:59:29

    A. 1.最小权值 题面解题思路Code ybtoj 宽搜进阶 A. 1.最小权值 题面 解题思路 二分,路径上最大的数 宽搜时加上条件,下一个点不能超过mid,就一定能保证这条路的最大值不大于mid 因为二分会不断缩减到正确答案,最后答案路径的最大值一定等于mid 可以重复走,可以发现只要能

  • ybtoj&洛谷P4426:毒瘤(虚树,环套树,暴力)2021-12-05 22:02:47

    传送门 解析 顾名思义,十分毒瘤 但有一说一,相对来说这题没有之前做的那两个黑题那么(重读)恶心 而且本题如果放在考场上,暴力枚举非树边的状态dp就可以拿到70分的好成绩(改一改能改到75) 现在考虑正解 注意到,每次暴力枚举非树边的状态进行dp时,状态发生改变的其实来来回回就是少数的

  • 【ybtoj高效进阶 21185】树上询问(LCT)2021-11-15 21:30:50

    树上询问 题目链接:ybtoj高效进阶 21185 题目大意 给你一个森林,一开始有 n 个点,然后要支持三个操作: 把一个点定做它树的根,查询一个点子树大小,连接两个不在同一棵树上的点,然后指定其中一个树原来的根是新树的根。 思路 小前言 这题改半天一直都是

  • 【YBTOJ】他的世界2021-11-13 12:03:53

    思路: 直接暴力都可以过 c o d e code code #include<iostream> #include<cstdio> using namespace std;

  • 【ybtoj 11.13 S组】【暴力】A. 他的世界2021-11-13 10:03:20

    A. 他的世界 题面解题思路Code ybtoj 11.13 S组 A. 他的世界 题面 样例 样例输入 4 1 5 100 5 10000 5 1000000 5 样例输出 5 7 11 15 19 104 106 116 128 132 10016 10019 10023 10034 10035 1000003 1000009 1000011 1000026 1000031 解题思路 当ybtoj有

  • 【ybtoj高效进阶 21177】小小网格(杜教筛)(数论分块)(莫比乌斯反演)2021-11-03 22:01:29

    小小网格 题目链接:ybtoj高效进阶 21177 题目大意 给你求 ∑i=1~n∑j=1~mφ(gcd(i,j))。 思路 重新写好看点: \(\sum\limits_{i=1}^n\sum\limits_{j=1}^m\varphi(\gcd(i,j))\) \(\sum\limits_{d}\varphi(d)\sum\limits_{i=1}^n\sum\limits_{j=1}^m[\gcd(i,j)=d]\) \(\sum\limits_{d}

  • 【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';

  • 【ybtoj高效进阶 21290】头文件 D(平衡规划)(线段树)2021-10-27 08:01:20

    头文件 D 题目链接:ybtoj高效进阶 21290 题目大意 给你一个序列,下标从 1 到 n。 然后有两类操作,要么是给出 k,l,r,x 把所有下标 %k 的值在 l~r 之间的位置都加上 x。 要么是区间求和。 思路 发现没有什么比较好的数据结构能实现。 考虑观察它修改的性质。 如果它 \(k\) 很大,那修改

  • 【ybtoj高效进阶 21261】头文字 C(单调队列优化DP)2021-10-27 07:35:50

    头文字 C 题目链接:ybtoj高效进阶 21261 题目大意 给你一个数组,然后问你最多能分成多少段,使得每一段的值不增。 每一段的值是这一段的数的和。 思路 首先我们把序列翻转,变成要单调不降。 然后考虑 DP,设 \(f_{i,j}\) 为把前 \(i\) 个数最多能分成多少段(最后一段是 \(j+1\sim i\))。

  • 【ybtoj高效进阶 21265】排队问题(fhq-Treap)(构造)2021-10-27 07:35:40

    排队问题 题目链接:ybtoj高效进阶 21265 题目大意 给你每个人的身高和要求,每个人的身高都不同。 每个人的要求是要它左边比他高的人或右边比他高的人个数是它给出的值。 然后要你找出字典序最小的满足的身高序列。 思路 我们考虑把人按身高从小到大排序,然后我们不难想到如果把身高

  • 【ybtoj高效进阶 21266】历经磨难(单调队列优化DP)2021-10-27 07:35:26

    历经磨难 题目链接:ybtoj高效进阶 21266 题目大意 给你 n 个事件,每个事件有收益,时间,然后你可以选不超过 k 个事件,要求你选的两个相邻的事件相差的时间要在 p~q 之间,然后每个事件还有一个数值 di,如果你选出来的事件中相邻的两个有因子 t,那贡献就要减去 z。 然后问你最大贡献是多大。

  • 【ybtoj高效进阶 21269】乐园之旅(期望DP)2021-10-27 07:35:15

    乐园之旅 题目链接:ybtoj高效进阶 21269 题目大意 给你一个无重边无自环的无向图,每个点有分数和需要时间,然后边也需要时间。 小明小红会等概率选择一个点作为出发点,先获得出发点的分数(同时也耗了时间),然后每次等概率的选择可以一步走到而 且有关的点进行得分。 要你分别计算小明和小

  • 【ybtoj高效进阶 21270】三只企鹅(树链剖分)(线段树)2021-10-27 07:34:55

    三只企鹅 题目链接:ybtoj高效进阶 21270 题目大意 给你一棵树,然后要你支持一些操作。 给一个点的权值加一(一开始都是 0),计算所有点到一个点的距离乘各自点的权值。 思路 考虑把每个距离拆成 \(deg_x+deg_y-2deg_{lca}\)。 然后不难发现就第三项比较难搞。 考虑这么一种计算方法,在放

  • 【ybtoj高效进阶 21272】生命游戏(bfs)(二分)2021-10-27 07:34:48

    生命游戏 题目链接:ybtoj高效进阶 21272 题目大意 给你一个二维网格,然后给你一个目标图形,包含有生命的点和无生命的点。 然后你初始可以任意选点放置生命,问你最多能通过多少次变换得到这个目标图形。 在一次变换中,一个有生命的点会把它周围四个点中没有生命的点改成有生命的。 思路

  • 【ybtoj高效进阶 21273】铲雪问题(树形DP)2021-10-27 07:34:26

    铲雪问题 题目链接:ybtoj高效进阶 21273 题目大意 给你一棵树,点有点权。 然后你每次可以选择一段路径,把路径上的点全部边权减一。 但是不许保证路径上的点点权都不为 0。 然后问你最少要进行多少次操作才能把树上的所有点的点权都减成 0。 思路 考虑先暴力的一条边一条边的删,然后考

  • 【ybtoj高效进阶 21274】相似序列(主席树)(哈希)(二分)2021-10-27 07:34:04

    相似序列 题目链接:ybtoj高效进阶 21274 题目大意 给你一个数组,多次询问,每次问你两个长度相等的子区间,问你把这两个区间排序之后,是否至多只有一个位置的数不同。 思路 看到这些不难想到用个什么数据结构维护出一个区间的每个数的出现次数。 然后把每个数的出现次数用个哈希搞出来来

  • 【ybtoj高效进阶 21277】逆序对数(数学)(DP)2021-10-27 07:33:47

    逆序对数 题目链接:ybtoj高效进阶 21277 题目大意 问你有多少个长度为 n 的排列的逆序对个数是 n。 思路 你考虑不断加入越来越大的数,那每次给逆序对个数的贡献区间就是 \(0\sim i-1\)。 总的来讲,每次贡献的上界是 \(1,2,..,n-1\)。 然后 DP 当然会超时,考虑小小容斥一下。 考虑到要

  • 【ybtoj高效进阶 21278】内需消费(线段树)(广义矩阵乘法)(DP)2021-10-27 07:33:33

    内需消费 题目链接:ybtoj高效进阶 21278 题目大意 给你一个数组,然后要你支持两个操作,修改某一个位置的值,或者询问从一个地方走到另一个地方的最大分数。 分数是你从一个地方沿着数组走,可以选择买入卖出或不变,然后同一时刻只能买入一件东西,资金无限。 思路 考虑单个怎么搞,不难想到是

  • 【ybtoj高效进阶 21286】等差数列(数学)(分类讨论)2021-10-27 07:33:13

    等差数列 题目链接:ybtoj高效进阶 21286 题目大意 给你一个数组 A,里面元素互不相同,问你是否可以把它重排成一个数组 B,使得它在模 M 的意义下是等差序列。 只需输出首项和公差即可。 思路 首先发现 \(M\) 是质数,那就说明无论公差是什么(反正他都是小于 \(M\)),那它在模 \(M\) 意义下的

  • 【ybtoj高效进阶 21285】独立生物(图论)(博弈论)(DP)2021-10-27 07:32:59

    独立生物 题目链接:ybtoj高效进阶 21285 题目大意 给你 k 个无向图,和一个点数为 n^k 的无向图 G,G 图中点的表示方式是可以 k 元组。 若设一个 k 元组内所有数的和是 x,G 图中这个点的点权为 V^x。 判定无向图两个点是否有边的方法是:它们转成的 k 元组只有一位不同,而且在那一位对于的

  • 【ybtoj高效进阶 21279】排列计数(矩阵乘法)(光速幂)(DP)2021-10-27 07:32:42

    排列计数 题目链接:ybtoj高效进阶 21279 题目大意 多次询问,每次问你有多少个长为 n 的排列满足相邻两个的差是 2 一下。 代码 考虑能否 DP,那你想他相差是 \(2\),你考虑从 \(1\sim n\) 的数组一次取走数,每次去的位置间隔不超过 \(2\)。 考虑可以怎么走。 设 \(f_i\) 为取走前 \(i\)

  • 【ybtoj高效进阶 21280】景点距离(DP)(换根)2021-10-27 07:32:21

    景点距离 题目链接:ybtoj高效进阶 21280 题目大意 给你一个线段树结构的树,要你支持一下操作: 删除一条边,或者判断当前有多少对点仍然连通。 思路 既然是树,我们考虑通过树来搞,而且还是线段树,就告诉我们它的深度是 \(\log\) 级别的,可以每次枚举。 而且!我们发现 \(k\) 最大 \(40\),可以

  • 【ybtoj高效进阶 21281】矩阵逆转(模拟)2021-10-27 07:32:03

    矩阵逆转 题目链接:ybtoj高效进阶 21281 题目大意 给你一个矩阵,每行每列都是一个排列,要你维护一些操作: 把所有列右移或者左移,把所有行上移或者下移,或者将每一行或每一列对于的排列对于的置换求逆。 输出最后的矩阵即可。 思路 考虑这些数会左右移动,还会有置换。 相当于把这些数有三

  • 【ybtoj高效进阶 21282】数字重组(DP)(数学)2021-10-27 07:31:40

    数字重组 题目链接:ybtoj高效进阶 21282 题目大意 给你一个数组,再给出一个数 k,保证数组长度是 k 的倍数。 然后要你把数组分成 k 个集合,定义一个分法的价值是它 k 个集合的极差之和,然后要你找价值最小的分发,输出其价值。 思路 考虑从小到大枚举数字。 考虑先把 \(k\) 个集合弄出来,

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

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

ICode9版权所有