ICode9

精准搜索请尝试: 精确搜索
  • Knapsack Problem with Limitations II - 题解【DP,贪心】2022-07-09 20:02:16

    题面 这是AIZU上的一道练习题,搬运VJ的链接:Knapsack Problem with Limitations II You have \(N\) items that you want to put them into a knapsack. Item \(i\) has value \(v_i\), weight \(w_i\) and limitation \(m_i\). You want to find a subset of items to put such th

  • SWERC 2019-20 G - Swapping Places2022-07-07 21:33:23

    题意:给定S种动物,L个朋友关系,规定相邻的朋友可以交换位置,求排成一行的n个动物通过交换可以获得的最小字典序列 分析:发现不是朋友的动物之间相对位置无法改变,构成拓扑序,对于那些可以改变的,在拓扑排序的时候放进优先队列求字典序最小就行了 如何建图:对于第i个动物,只需要知道S种动物

  • abc256 G - Black and White Stones2022-07-07 12:34:22

    题意: 边长为 \(d\) 的正 \(n\) 边形,每条边上等距分布着 \(d+1\) 个点(包括两个端点)。现要把每个点染成黑/白色,要求每条边上的白点数相同,问方案数取模 要考虑顺序,即旋转对称/轴对称的算不同方案。 \(3\le n\le 1e12,1\le d\le 1e4\) \(n=3,d=2\) 的示意图: 思路: 从 \(0\) 到 \(d+1\)

  • 两个子序列dp问题2022-07-06 23:34:28

    两个子序列dp问题 在一个序列上做一些修改,求一些最小操作数,最小划分数,最小长度之类的很多都可以用dp来解,也有一定套路,最近连碰两个。就放一起了。 CF1699D (dp,预处理) Codeforces Round #804 (Div. 2) - Mxrurush - 博客园 (cnblogs.com) 这里D题的思路是做 \(dp\) 然后用一些预处理

  • Codeforces Round #804 (Div. 2)2022-07-05 21:36:14

    Codeforces Round #804 (Div. 2) 这场题感觉都挺有意思的。 A 题意 找到一组解 \((a,b,c)\) 使得 \((a \oplus b) + (b \oplus c) + (a \oplus c) = n\) 没有输出 -1 思路 先看偶数,很容易看出 \((n/2,n/2,0)\) 是合法解 对于奇数。考虑 \(n=1\) 。无解,这是可以枚举的。这等于说最

  • 1-stl介绍_题解2022-07-04 15:05:39

    1-stl介绍_题解 2022/7/4-ACM暑期集训 A,最大或位_位运算贪心 题目大意 中文题自己看 思路和代码 要xy的或值最大则尽量让每一位或的结果都是1。考虑将y固定在r,x从l一点点变大。所以我们要让x在不大于r的情况下尽可能大。从大往小考虑二进制位。一旦出现“1<->0”的情况就表示后面

  • AtCoder Beginner Contest 258 G - Triangle2022-07-03 13:31:23

    O(M*sqrt(M))的做法超时 考虑直接暴力,用bitset实现小常数,时间复杂度O(N^3 / 64) #include<bits/stdc++.h> using namespace std; #define fr first #define se second #define et0 exit(0); #define rep(i,a,b) for(int i=a;i<=b;i++) #define rrep(i,a,b) for(int i=a;i>=b;i

  • 「JOISC2021」IOI Fever2022-07-01 23:03:29

    题目 点这里看题目。 分析 唉,感觉分析起来力不从心啊...... 首先做一些简单的规约处理: 将居民 \(1\) 平移到坐标原点; 枚举一下居民 \(1\) 的行走方向,并且旋转坐标轴,使得 \(x\) 轴指向居民 \(1\) 的行走方向。 Note. 下面的坐标都是变换过后的坐标。 接下来,我们考虑一下每

  • 「AGC021F」Trinity2022-06-30 10:03:40

    题目 点这里看题目。 分析 显然这是一道 DP 题目。 显然,由于 \(B,C\) 都是关于列,只有 \(A\) 是关于行的,我们应该逐列做 DP。 状态有一点小技巧,我们可以设 \(f_{i,j}\) 表示前 \(i\) 列,其中有 \(j\) 行出现了第一个黑格子,且这 \(j\) 行的相对顺序已经确定的方案数。 Note. 从顺序

  • 「Ynoi2006」rsrams2022-06-25 15:33:19

    题目 点这里看题目。 分析 题目就是区间询问子区间绝对众数和(如果没有,即为 0)。然而,这里并不是以那个经典算法作为切口入手的。 Remark. 所以,某类问题有好的算法并不意味着它一定通用。有时候还是应该回归基础方法。 尝试枚举区间众数,则可以在枚举之后,修改为询问子区间中有多少个

  • YACS2022年6月月赛甲组2022-06-25 00:01:34

    T1:矩形覆盖 用 std::set 或线段树来维护扫描线即可 代码实现 #include <bits/stdc++.h> #define rep(i, n) for (int i = 1; i <= (n); ++i) using std::cin; using std::cout; using std::multiset; using ll = long long; struct Node { ll x, h; int type; bool

  • 「Nowhere」Helesta2022-06-24 20:34:06

    题目 给定 \(n\) 个互异的整点 \(\{(x_k,y_k)\}_{k=1}^n\),和 \(m\) 个点集 \(\{S_k=\{(x,y)|A_kx+B_ky+C_k>0\}\}_{k=1}^{m}\),请给出一个排列 \(p\in S_m\),使得 \(|S_{p_1}|+\sum_{k=2}^{m}|S_{p_k}\oplus S_{p_{k-1}}|\le M\)。其中 \(A\oplus B\) 表示 \(A,B\) 集合的对称差,

  • F-骑士战胜魔王_牛客小白月赛52 (dp)2022-06-22 13:00:07

    F-骑士战胜魔王_牛客小白月赛52 (dp) 题意 \(n\) 个骑士打boss,每个骑士可以有 \(s\) 个技能,每个技能有伤害和代价两维属性。每个技能最多用一次。每个骑士可以选择任意的技能进行一次牛逼的攻击。总耗费为 \(W_i\) 。 我们认为对两方案 \(S_i,S_j\) ,当存在任意的 \(k\) 使得 \(W_k^

  • [题解] Atcoder ARC 142 D Deterministic Placing 结论,DP2022-06-21 22:00:57

    题目 (可能有点长,但是请耐心看完,个人认为比官方题解好懂:P) 首先需要注意,对于任意节点i上的一个棋子,如果在一种走法中它走到了节点j,另一种走法中它走到了节点k,那么这两种走法进行完后,棋子占据的节点集合不可能相同,因为在这两种走法中,节点i必有两个子树中的棋子数量不同。所以,题目

  • [题解] Atcoder ARC 142 E Pairing Wizards 最小割2022-06-20 18:32:35

    题目 建图很妙,不会。 考虑每一对要求合法的巫师(x,y),他们两个的\(a\)必须都大于\(min(b_x,b_y)\)。所以在输入的时候,如果\(a_x\)或者\(a_y\)小于\(min(b_x,b_y)\),可以先把\(a_x\)和\(a_y\)提升到\(min(b_x,b_y)\)(以后的a数组都指做过这步操作的)。接下来如果\(max(a_x,a_y)\geq

  • 【数据结构】后缀数组小记2022-06-19 22:31:45

    后缀数组小记 目录后缀数组小记介绍模板题 简要地介绍了后缀数组相关知识,对原理部分的解析较浅。 介绍 sa[i]: 代表排名 \(i\) 的后缀在原串的下标。 rank[i]: 表示原串下标 \(i\) 所对应的后缀的排名。 height[i]: \(\rm{height}[i] = \rm{LCP}(\rm{suffix(sa[i-1])}, \rm{suffix

  • 题解【CF549F Yura and Developers】2022-06-15 10:34:54

    楼下的两篇题解都看不懂,不会笛卡尔树,不会打标找规律。 但是 $\texttt{CDQ}$ 分治你值得拥有。 对于分治的两个区间 $[l,mid]$ 和 $(mid,r]$,对于分别位于两个区间的点 $j,i$,计算是否有贡献。 设 $s_i$ 表示前缀/后缀和,$b_i$ 表示前缀/后缀最大值。 则可以将题目条件写成另一种形式:$

  • 牛客练习赛1002022-06-12 01:01:10

    牛客练习赛100 https://ac.nowcoder.com/acm/contest/11251 简要地写一下 A-E 的解答。 A-D 为了减少篇幅没有放头文件等东西,可以到 E 题去取。 A 范围不大,直接枚举来找即可。 int main(){ int a, b, n; cin>>a>>b>>n; for(int i=0; ; i++){ int t=n-a*i;

  • 抽象数据类型ADT2022-06-10 04:31:07

    1. 抽象和用户定义类型 用户定义的类型▪ 一种编程语言带有内置类型(如整数、布尔值、字符串等)和内置过程(如输入和输出)。▪ 用户可以定义自己的数据类型和过程-用户定义的类型。 数据抽象▪ 数据抽象:类型的特征是可以对其执行的操作。  一个数字是可以加和乘的;  一个字符串是可

  • 表示不变性和抽象函数2022-06-10 02:00:39

      表示空间R由实际实现的实体的值(rep 值)构成,抽象空间 A 由设计的 ADT 支持的值组成。表示空间是 ADT 开发者看到和使用的值空间,抽象空间是客户端看到和使用的值空间。         两个空间之间的映射关系的函数即抽象函数 AF(Abstraction Function) ,它描述如何将 R 中的一个值

  • 「2022 远光杯」随机播放2022-06-09 22:04:05

    传送门 一道典型的 概率DP 由于手算复杂度为 \(O(n^2 m k)\) 约为 \(3.2 \times 10^9\), 赛时没敢写 定义 \(f[i][j][k]\) 表示选择了 \(i\) 个物品,当前物品为 \(j\),并且出现了 \(k\) 次 第\(t\)首歌曲的概率。 然后进行状态转移即可 // #23. 「2022 远光杯」随机播放 // URL:

  • 【题解】「JOISC 2018 Day 4」野猪2022-06-09 16:05:50

    很有启发性的一题。 如果没有 ”不能沿原路返回前一个到达的结点" 的限制,显然就是相邻两点最短路之和,如果有这个限制,我们不仅要记录最短路,还要记录一些次短路的信息。 下面是我关于构造这个信息的一点思考。 由于 \(L\) 是 \(10 ^5\) 并且带修,所以肯定是用线段树维护序列,支持单点

  • Codeforces Round #797 (Div. 3)2022-06-08 20:32:33

    Codeforces Round #797 (Div. 3) 感觉这场div3要简单许多,不过还是没ak···。 ABC略,从D开始吧 D 题意: 给一个“BW” 串,问至少几次修改,能构成一个长度为 \(k\) 的连续的 “B”。 思路: 暴力把 \([1,k]\) 的串操作次数算了,之后向右滑动,只用计算最左边滑出的和最右边新加入的字符产生

  • 2022高考集训22022-06-07 21:33:42

    大悲 A. 交通 发现如果删掉一条边\(x->y\),那么\(z->y\)一定不能删,也就是说\(z->p\)一定要删,给边打个标记,对没有标记过的边进行“删除”,将与其“绑定”的边一块标记,最后得到的删除次数能求出答案,\(2^{进入标记的次数/2}\) code #include<cstdio> #include<cstring> #define rep(i

  • 题解【CF245H Queries for Number of Palindromes】2022-06-07 19:03:31

    我写完了发现自己是个傻逼。 为啥题解都是区间 DP 啊,提供一个不同的难写做法。 考虑求出 $f_{i,j}$ 表示 $[i,j]$ 的回文串的数量,这样对于询问能做到 $\Theta(1)$。 对于每一个 $f_{i,j-1}$ 可以转移到 $f_{i,j}$,加上“以 $s_j$ 结尾的左端点在 $[i,j]$ 中的回文串的数量”即可。

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

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

ICode9版权所有