ICode9

精准搜索请尝试: 精确搜索
  • Two Permutations (DP搜索的方式) (2022杭电多校3)2022-09-06 21:31:00

    题目: 给出长度为 n  的全排列 p , q ,还有一个由 p , q 组成的长度为 2 × n 的 S 。现在有一个空序列 R  ,每次可以从 p  或 q 的开头取出一个数字并加到 R 的末尾,问有多少种取法使得 R = S , n<=3e5 思路: 对于s 的一个位置, 就可能2个位置,来计算贡献,  dp[i][j],来表示种

  • 2022 杭电多校解题报告 第一场2022-08-27 19:00:26

    B. Dragon slayer(二进制枚举 + bfs) 题意:给定一个n * m的网格,视格子中间为点,格线为墙,指定x堵墙(x <= 15),穿过一堵墙耗费一体力,问从起点到终点的最小体力为多少 分析: 注意到墙的数量很小,所以可以考虑二进制枚举哪些墙被拆,然后bfs 判断可达性,这题难点在于他给的图很特殊,所以将原图扩

  • 2022杭电多校第十场1008 Minimum Diameter(树的直径的一些性质)2022-08-21 20:03:51

    解决本题分为两个部分:维护树的直径,合并多个树的直径 树的直径有如下性质: 1,从任一点出发,到达最远的点是直径的其中一端,从这一点出发可以到达最远的点是直径的另一端。或者说一棵树中距离某一点最远的点一定是直径的一端。 2,由1,两个树通过一条边连接形成的新的树的直径是两棵树直径4

  • 2022杭电多校第十场7、3、9、42022-08-21 15:30:52

    1007 Even Tree Split 先考虑最简单的情况,如下图的边\((3,4)\),我们把这条边切掉,最后会留下一部分的点数为2,另一部分的点数依然是偶数。 进一步思考可以知道,对于边\((u,v)\),只要v子树的点数是偶数,这条边就可以切除。 再进一步,统计所有可以切除的边的数量,可以知道,只要从中选择任意多

  • 【2022杭电多校】第九场 1008 Shortest Path in GCD Graph 【容斥+优化】2022-08-17 01:32:40

    链接 https://acm.hdu.edu.cn/showproblem.php?pid=7240 题意是有n个点组成的完全图,每个点的权重组成了1-n的排列,点i和点j的距离为\(gcd(i,j)\) ,给出q组询问,每次询问给出u点和v点,你需要回答u和v的最短距离和最短路的条数 思路 如果\(gcd(u,v)==1\),答案为 1 1 否则最短路的长度一定

  • 2022杭电多校第八场1、7、52022-08-15 20:31:22

    1001 Theramore 观察以下两种情况: 以0为例,上图就是说,只要有两个连续的0,我们就可以一直把它们往前移动直到移动到首位。同理只要有两个连续的1我们就可以把它们移动到尾部。 所以可以开一个栈,顺序将字符入栈,一旦遇到连续的0或者1,就把它们删去,在首尾打下标记。 const int N=1e5+5;

  • 杭电多校杂题收录2022-08-14 12:01:42

    前言 和学长学弟一起打的hdu多校,打的很菜没啥难题收录,因为难的我都不会做。 正题 hdu7152-Copy 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=7152 题目大意 \(n\)个数字的序列\(a\),\(m\)次操作,每次将一段\([l,r]\)复制一份然后插入在这一段的后面,或者求某个位置的值。

  • 2022 杭电多校第八场 Vale of Eternal 凸包+找规律2022-08-13 18:31:06

    主要是存个代码,还有我踩的坑。。 cin和cout真的很慢,很慢,非常慢.. 还有就是先把凸包求出来了,然后才能考虑凸包面积啥的 刚开始思路错了,直接上多边形面积 明明输出和标程都一样了,在hdu还是wa 欸..就当学了个凸包板子,学会了Graham。。   #include<bits/stdc++.h> #define PI

  • 2022杭电多校05 1006BBQ2022-08-04 01:02:06

    2022杭电多校05 1006BBQ 大致题意 给定一个字符串\(s\),要求计算最小的数\(k\),使得从\(s\)中删除\(k\)个字符后,每四个字母都满足\(abba\)的形式(不一定需要是字符\(a,b\),满足形式即可)。 赛中拿到这道题的时候,第一个想到的是20ECFinal的namomo Sequence,试图枚举每四个字符的形态然

  • 【2022 杭电多校】第五场 1012 Buy Figurines 【模拟】2022-08-03 10:32:31

    链接 https://acm.hdu.edu.cn/showproblem.php?pid=7196 思路 读题后发现,由于每个人的到达时间不同,且可以唯一确定加入的队伍,所以每个人选择加入的队伍是确定的 那么只需要(按事件发生的时间顺序)模拟即可,使用优先队列 定义三元组<time,type,id> 把所有入队、出队操作看成操作序

  • Link With Running || 杭电多校第四场T2 || Dijkstra + Tarjan + SPFA2022-08-02 02:31:10

    题面:http://acm.hdu.edu.cn/showproblem.php?pid=7175 题意:一个有向图,边权 ei 和 pi 。求从点 1 跑到点 n , 最小 Sum(ei) 是多少?在满足 Sum(ei) 最小的基础上,Sum(pi) 最大是多少? ei 和 pi 大于等于 0。保证答案存在且可输出。 思路: 先用Dijkstra找最短路,然后再扫一遍找出最短路图

  • 2022 杭电多校 第三场 A - Equipment Upgrade2022-07-29 11:06:08

    题意 一把武器要升级到 \(n\), 每次尝试升级要花费 \(c_i\), 有 \(P_i\) 的概率成功升级到 \(i + 1\) 级, 失败会降级, 降 \(j\) 级的概率如下 \[\left(1-p_i\right)\frac{w_j}{\sum_{k=1}^i w_k} \]现给出 \(c_i\), \(P_i\)(以百分制形式给出), \(w_i\), 保证 \(P_0 = 100\) 思路

  • 2022杭电多校补题12022-07-27 16:37:53

    title: 杭电多校补题 author: Sun-Wind date: July 25, 2022 1002 思路 由于数据量较小,可以考虑二进制枚举+bfs 刚开始是可以任意走的 我们可以做一个放大的操作(*2倍),这样可以避免double的影响 不仅如此,放大以后只能向上下左右四个方向走,可以证明斜着走的情况并不存在(因为墙壁坐

  • 2022杭电多校部分好题题解(简要口糊)2022-07-27 13:00:09

    Day 1 D - Ball 枚举两个点,计算剩下一个点的选取方法: 题解做法:从小到大加入边,相当于要求与其中一个点右边而与另一个没有,直接 \(bitset\) 维护,\(\mathcal O(\frac{Tn^3}{\omega})\) 即可通过。 考场做法:注意到与一个点曼哈顿距离 \(\le d\) 的点形成一个正方形。两个正方形的是

  • 2022 杭电多校(3) 补题 2, 92022-07-27 10:04:21

    Cyber Language 字符串输入 签到题 题意: 读入一行小写字母组成的单词,输出每个单词的首字母 注意几点即可: cin是不会吃掉回车的,所以我们需要getchar手动吃掉回车, 关了同步后,是不能用getchar的,需要使用cin.get()来吃掉回车。 代码1:关闭快读 void solve(){ cin >> t; g

  • 2022杭电多校3笔记2022-07-27 02:33:01

    2021杭电多校03 打得很菜,躺了一整场。 1003 签到,取首字母变成大写输出,随便怎么做都行。 1009 取包裹,每个包裹必须在\([l_i,r_i]\)的时间内被取走,每次最多一次性取\(k\)个,问最少取几次。 贪心。考虑排完序后,对于每一个包裹,都尽可能晚的去拿,这样一定是最优。 1012 dp。队友过了 100

  • 【2022杭电多校】第三场 1009 贪心2022-07-27 02:31:54

    链接 http://acm.hdu.edu.cn/showproblem.php?pid=7170 简化题意 给你n个区间,你需要往区间中填入一些点,(注意每个点最多覆盖在相同位置有交集的k个区间),使得这些点可以覆盖全部的n个区间,且点的总数最少 求点的数量的最小值 思路 贪心。 很容易想到把点填在 右端点最靠前的区间 的右

  • 2022杭电多校补题情况2022-07-26 23:02:17

    D1 D2 D3 D4 D5 D6 D7 D8 D9 DX 01 √ 02 √ √ 03 √ √ √ 04 √ √ 05 √ √ 06 07 √ 08 √ √ √ 09 √ √ √ 10 11 √ √ √ 12 √ √ √

  • HDU7162. Equipment Upgrade (2022杭电多校第3场1001)2022-07-26 22:33:17

    HDU7162. Equipment Upgrade (2022杭电多校第3场1001) 题意 有一件装备,一开始是 \(0\) 级,可以强化它,当它在第 \(i\) 级时,需要花费 \(c_i\) 强化它,有 \(p_i\) 的概率强化成功(升高一级),\(1-p_i\) 的概率强化失败(降 \(1\) 至 \(i\) 级),其中降 \(j\) 级的权重为 \(w_j\),也就是说有 \((1-

  • 2022杭电多校第二场部分题解2022-07-24 16:34:09

    Copy 题意: n个数字由两种操作,操作1,把l到r复制一遍然后粘贴到r后面,操作2,求第x个数字 思路: 对于一次操作完成之后的查询,如果x小于等于r,则不会产生影响,如果大于r,那么相当于查询x-(r-l+1)的数字; 所以选择倒着预处理,对于一次操作之后所有的查询x,将他们的x全部-=(r-l+1),因为是求最终结果的

  • 2022杭电多校 2H / HDU 7157 - Keyboard Warrior (KMP)2022-07-22 18:36:12

    Problem Link 题意 给定一个长度为 \(n\) 的字符串 \(S\) 及 \(m\) 次操作,初始时打字机为空 每次操作可以往打字机上的字符串尾部按顺序添加 \(k\) 次字符 \(ch\),或是从打字机上的字符串尾部删去 \(k\) 次字符(即键盘 Backspace) 问是否存在一个时刻,使得字符串 \(S\) 是打字机上的

  • 2022杭电多校 2H / HDU 7157 - Keyboard Warrior (KMP)2022-07-22 18:36:12

    Problem Link 题意 给定一个长度为 \(n\) 的字符串 \(S\) 及 \(m\) 次操作,初始时打字机为空 每次操作可以往打字机上的字符串尾部按顺序添加 \(k\) 次字符 \(ch\),或是从打字机上的字符串尾部删去 \(k\) 次字符(即键盘 Backspace) 问是否存在一个时刻,使得字符串 \(S\) 是打字机上的

  • 菜鸡多校训练及补题记录,随缘更2022-07-20 23:32:30

    目录牛客多校contest 1杭电多校contest 1 牛客多校 contest 1 可做题 \(A\), \(C\), \(D\), \(G\), \(H\), \(I\), \(J\) 已做 \(A\), \(D\), \(G\), \(I\), \(A\):区间合并模板 \(C\): \(D\):平几推导 \(G\):签到 \(H\): \(I\):概率dp 令 \(f_{i, j}\) 为 还剩余i张牌且还差几张牌凑成

  • 2022杭电多校第一场部分题解2022-07-20 17:04:13

    Dragon slayer 题解: 解法1:可以二进制枚举当前存在哪些墙,然后bfs; 解法2:可以观察到只有删掉墙才会有贡献,相当于边权为1,其他情况边权为0,采用状压01bfs 代码: #include <bits/stdc++.h> //#define int long long int _ = 0, Case = 1; using namespace std; #define all(v) begin(v),e

  • 2021杭电多校第五场1002(单位根反演)2021-08-27 22:02:55

    2021杭电多校第五场1002 Problem - 7013 (hdu.edu.cn) 题意: 给一个长度为 \(L\) 的字符串,包含前 \(k(k>=2)\) 个小写字母,可以得到不同的字符串有 \(k^L\) 种 对于每一对 \((i,j),(0\le i,j)\) ,找出包含 \(p\) 个 \('a'\) , \(q\) 个 \('b'\),满足 \(q\equiv i(mod\ n),p\equiv j(m

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

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

ICode9版权所有