ICode9

精准搜索请尝试: 精确搜索
  • 糖果(状压dp)2021-04-05 15:05:12

    传送门 糖果店的老板一共有M 种口味的糖果出售。为了方便描述,我们将M种口味编号1~M。 小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而是K颗一包整包出售。 幸好糖果包装上注明了其中K 颗糖果的口味,所以小明可以在买之前就知道每包内的糖果口味。 给定N 包

  • B - 迎娶公主(bfs+状压)2021-04-04 17:33:24

    传送门 题目: 多灾多难的公主又被大魔王抓走啦!国王派遣了第一勇士蒜头君去拯救她。身为超级厉害的术士,同时也是蒜头君的好伙伴,你决定祝他一臂之力。你为蒜头君提供了一张大魔王根据地的地图,上面标记了蒜头君和公主所在的位置,以及一些不能够踏入的禁区。你还贴心地为蒜头君制造

  • P1433 吃奶酪 (状压dp)2021-03-24 12:57:09

    题目描述 房间里放着 nn 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0)(0,0) 点处。 输入格式 第一行有一个整数,表示奶酪的数量 nn。 第 22 到第 (n + 1)(n+1) 行,每行两个实数,第 (i + 1)(i+1) 行的实数分别表示第 ii 块奶酪的横纵坐标 x_i, y_ix i

  • 291. 蒙德里安的梦想(思维+状压dp)2021-03-24 12:30:04

    https://www.acwing.com/problem/content/description/293/ 思路: 一个很重要的点就是放好合法的横块之后,竖块的摆放就确定了。 于是枚举每一列的状态,用二进制表示。j为上一列的状态,k为此列的状态。 可以知道,j&k==0 并且j|k的每段连续0的个数是偶数是符合的。 于是j|k的每段连

  • HDU1074字典序+状压2021-03-21 11:02:27

    题干 Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in the homework after the deadline, the teacher will

  • 状压dp知识点2021-03-17 23:57:29

    状压dp知识点 1、二进制基本技巧: 1:判断二进制上某一位是不是1: if( x>>i&1 == 1 ) 右移i位和1相与 2:将二进制第i位改为1: x = x | (1<<i); 3:将二进制第i位反转: x = x ^ (1<<i); 4:把二进制从右数第一个“1”舍弃: x = x & (x-1); 5:在二进制

  • ABC195 F - Coprime Present【gcd+状压DP】2021-03-16 19:33:55

    题意 求出由 \([A,B]\) 内数字组成的内部数字两两互质的集合的个数。\((1≤A≤B≤10^{18})\)题目链接:https://atcoder.jp/contests/abc195/tasks/abc195_f 分析 首先,根据辗转相除法,有 \(gcd(a,b)=gcd(a-b,b)(a\geq b)\),因此这些数字的 \(gcd\) 的范围不会超过 \(72\),只需要对这些

  • Nowcoder9986G.机器人(__int128、思维、状压DP、贪心)2021-03-11 23:36:47

    G.机器人 题意: 有n个机器人,每个机器人会读入一个x,并返回ax+b。 现在有一个数x和n个机器人,每个机器人有参数a和b。 请你排列机器人,使得最后的参数尽可能的大。 询问最后的最大值。 题解: 两种做法。 第一种: 化简这个不等式:\(a_1(a_2x+b_2)+b_1<a_2(a_1x+b_1)+b_2\) 按照这个不等式对

  • Codeforces 917C - Pollywog(状压 dp+矩阵优化)2021-03-08 19:03:50

    Codeforces 题目传送门 & 洛谷题目传送门 这是一道 *2900 的 D1C,不过还是被我想出来了 u1s1 大概是这题用到的几个套路我都见过罢 首先注意到 \(k\) 很小,故考虑状压 \(dp\),\(dp_{i,s}\) 表示当前所有 pollywog 都在编号 \([i-k+1,i]\) 范围内的石头上,并且有且仅有编号 \(i-x+1,x\i

  • 状压dp(总结)状态压缩2021-03-08 14:01:25

    状压这个和二进制分不开关系 所以,对于二进制的熟悉是必不可少的技能 &  与操作,1不变,0变0     |  或操作,0不变,1变1   ^  异或操作,0不变,1取反    ~ 取反操作,把每一个二进制位0变1,1变0 还有一些复杂操作可以根据这些去理解 状态压缩 所谓状态压缩就是把dp的每一次转移时

  • 状压 DP2021-03-07 10:04:10

    状压 \(DP\) 状态压缩是设计 \(dp\) 状态的一种方式。 当普通的 \(dp\) 状态维数很多(或者说维数与输入数据有关),但每一维总量很少时,可以将多维状态压缩为一维来记录。 这种题目最明显的特征就是:都存在某一给定信息的范围非常小(在 \(20\) 以内),而我们在 \(dp\) 中所谓压缩的就是这一

  • 2.212021-02-21 17:34:15

    上午: 1.物理处理到了平抛运动的应用(估计明天就可以到圆周了) 2.基础dp3道(2h)[有毒qwq,效率--],那个神奇的鸡蛋问题真的令人头秃~ 下午:1.基础dp5道,结束dp基础(其实还有三道题没做,不想做了qwq,以后再说?) 2.翻了翻巨神的博客,很强;  看了看人人通,总计颓废时间0.5h 3.提高dp,先从状压dp开始学的

  • 状态压缩类动态规划笔记2021-02-21 16:01:05

      状态压缩类动态规划: 一、问题简介: 1.状压dp:以集合信息为状态(下面会解释) 2.一般dp只需要提取出两三个信息对状态进行转移,但是如果多个信息对状态有影响,我们不能开多维数组(可能会爆空间),这时候考虑状压dp 3.状压指对多个状态进行压缩 二、问题引入:(旅行商问题 TSP) 一个n个点的带权

  • 枚举(前缀和/差分、尺取、状压)、贪心2021-02-19 21:35:46

    枚举(前缀和/差分、尺取、状压)、贪心 邓丝雨 \(2021.1.11\) \(zhanglichen\ 2021.2.19\) 什么是算法? 先来一道题:NC16669 给出一个序列,对它去重并排序。 时间复杂度和空间复杂度 略。 枚举 例1:最大正方形 在一个\(n*n(n<=100)\)的矩阵中求一个最大的正方形使得该正方形的四个顶点

  • 基本的状压DP2021-02-17 07:02:16

    状压DP 给出一个 \(n\timesm\) 要求棋子不相邻,求方案数 \(n < 100\) \(m < 8\) \(f[i][s] = \sum{f[i-1][s_2]||s\&s_2 = 0}\)(为零表示不相邻) \(s\) 表示当前行中棋子的情况 解析:我们会发现一个问题,上述式子确实可以保证上下行不相邻,但是左右呢,对于我这个刚认识状压的菜鸡来说,很

  • 帮助——状压2021-02-13 22:01:38

    帮助 这道题好题,接下来我们从头到尾详细地分析一遍这道题的做法以及给我们以后做题目的启发。 考虑到\(25\)到\(32\)这一值域很小,并且可以整体平移到\(0\)到\(7\),这是原始想法。 接下来积累一个比较好的想法:将一个数抽出来再放回去相当于仅仅把抽出来的数一股脑取出来,最后再进

  • a_lc_完成所有工作的最短时间(暴搜 / 状压)2021-02-13 19:04:14

    将n份工作分给k个工人,求一种方案使得工人们的最大工作时间最少(1 <= k <= jobs.length <= 12) 思路:对于第i分工作: 可以将其安排到的当前的j个工人身上 也可以放到j+1个人身上 var n, ans int var time, cost []int func dfs(a, b, m int) { //第a分工作,b个工人,m是当前最小值

  • [CF1215E] Marbles - 状压dp2021-02-12 16:32:24

    [CF1215E] Marbles Description 有 n \((n \le 4 \times 10^5)\) 个珠子,第 \(i\) 个珠子颜色是 \(c_i (c_i \le 20)\),每次操作把相邻的两个珠子交换。现在要把相同颜色的珠子排列在相连的一段,问至少要多少次操作。 Solution 设 \(f[s]\) 表示处理了颜色集合为 s 的珠子(排在目标序

  • [CF1391D] 505 - 状压dp2021-02-10 16:33:05

    [CF1391D] 505 - 状压dp Description 给出一个 \(n \times m\) 的 \(01\) 矩阵,如果每个长宽都为偶数的正方形子矩阵内 \(1\) 的个数都为奇数,则这是一个“好的”矩阵。如果能把矩阵改成“好的”,问最少改多少个数。如果不能,输出 \(-1\)。 Solution n,m 均大于等于 4 时,取任意一个 \(

  • 郊区春游(状压dp)2021-02-09 20:35:42

    链接:https://ac.nowcoder.com/acm/contest/134/D来源:牛客网今天春天铁子的班上组织了一场春游,在铁子的城市里有n个郊区和m条无向道路,第i条道路连接郊区Ai和Bi,路费是Ci。经过铁子和顺溜的提议,他们决定去其中的R个郊区玩耍(不考虑玩耍的顺序),但是由于他们的班费紧张,所以需要找到一条旅

  • 状压dp技巧之轮廓线 hdu1400/poj2411\acwing291 蒙德里安的梦想2021-02-01 20:05:05

    我蒙德里安有一个梦想,就是成为方块填充之王! POJ地址//HDU地址//acwing地址 (!注意,学习此方法需要一定状压基础,请至少做两道状压\(DP\)再学习) 一开始我脑中蹦出了状压整张图的想法,但显然不行,这时想一下,其实我们在乎的方格并不多,其实只需要一行 但是方块又有两种摆放方法,不能只存

  • E - Magical Ornament 题解(图论+状压dp)2021-01-31 15:05:17

    题目链接 题目大意 给你n个宝石,有m对(a[i],b[i])关系,以及k种必须出现的宝石 你要保证出现k种必须出现的宝石(每种宝石>=1即可),且出现的宝石要满足m对关系的两两相邻 求最少的宝石数,不满足则直接输出-1 \(1<=n<=1e5\;\;0<=m<=1e5\;\;1<=k<=17\) 题目思路 首先相邻则可以当作建边 然

  • P6499-[COCI2016-2017#2]Burza【状压dp】2021-01-16 15:02:02

    正题 题目链接:https://www.luogu.com.cn/problem/P6499 题目大意 \(n\)个点的一棵树,开始有一个棋子在根处,开始先手选择一个点封锁,然后后手封锁棋子所在点然后移动一步到一个没有封锁的点,之后轮流进行。 先手不知道后手的移动,求先手有没有方法使得后手\(k\)步以内无法移动。 解

  • luogu P2831 [NOIP2016 提高组] 愤怒的小鸟2020-12-31 22:03:15

    题面传送门 数据这么小显然状压dp 考虑状压\(dp_i\)表示打掉的集合为\(i\)时最少抛物线条数。 预处理\(f_{i,j}\)表示过\(i\)点和\(j\)点的抛物线经过的点的集合。 但是这样的转移是\(O(T2^nn^2)\)的。 考虑怎么优化。 很明显我们的\(dp\)转移是无序的。将其变成有序即先打最小的

  • 「CTSC2017」吉夫特【Lucas 定理】【状压DP】2020-12-31 20:04:06

    传送门 solution 由\(Lucas\)定理: \[\binom xy\equiv\binom{x\%2}{y\%2}\binom{x/2}{y/2}\pmod 2 \]也就相当于设\(x_i,y_i\)分别是\(x,y\)二进制下的第\(i\)位 那么: \[\binom xy\equiv\prod_{i}\binom{x_i}{y_i}\pmod 2 \]因为\(x_i,y_i\in{{0,1}}\),所以只有\(\binom{x_i}{

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

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

ICode9版权所有