首页 > 其他分享 >AtCoder 板刷记录

AtCoder 板刷记录

时间:2024-11-13 08:57:08浏览次数:1  
标签:AtCoder min 板刷 sum 记录 一个 dp

话说为啥这些场都没有 G 题的说

[ABC200F] Minflip Summation

显然的策略是把全部都是一个数的段变成全不都是另一个数,然后考虑进行 dp

设一个 dp[i][0/1][0/1] 表示一下前 i 个字符中奇偶性为 j 填的数是 k 时 j 的总和

然后直接做就行了,需要矩阵快速幂加速一下

[ABC201F] Insertion Sort

考虑进行 dp 维护,很显然一个人只会有移动一次,因为反复横跳是没有意义的,而且并不优

那么我们就可以设出一个 f_i 表示对于对于不超过 i 的人(i \belong S)的代价最小值

我们如果确定了一个顺序 {S_i} 我们就可以知道,我们只需要进行分类讨论,如果 A_i < S_i 就直接取一个 min(a_i,b_i)

如果 A_i > S_i 我们就取一个 min(a_i,c_i) 就行

我们需要最小化代价和,可以发现没有后效性,考虑 dp 即可

转移方程是 dp[i] = min ( \sum_{j=1}^{i-1} min(A_j,B_j), min_{j<i}(dp[j] + \sum _{k=j+1}^{i-1} A_k))

最后的答案是 min(dp[j] + \sum_{j=i+1}^n (A_i+C_i))

复杂度 O(n^2),发现似乎不是很优秀,那么考虑用线段树优化到 O(n log n)

[ABC203F] Weed

容易发现这道题是一个 dp,用 dp[i][j] 表示进行 j 次操作拔掉前 i 棵的草

转移方程是 dp[i][j]=min{dp[i−1][j]+1,dp[i′][j]}

预处理出 i' 然后暴力转移即可,这样就解决了

[ABC204F] Hanjo 2

还在写

标签:AtCoder,min,板刷,sum,记录,一个,dp
From: https://www.cnblogs.com/Vsinger-LuoTianYi/p/18543041

相关文章

  • 打靶记录-朋友自搭靶机
    信息收集nmap-sn192.168.161.0/24nmap-sT-p-192.168.161.131-oA./portsnmap-sU--top-ports20192.168.161.131,没有明确开放的udp端口nmap-sT-sC-sV-O192.168.161.131-p22,80,111,3306-oA./details,详细扫开放的端口nmap--script=vuln-p22,80,111,3306......
  • 「贪心」做题记录
    「贪心」做题记录P2672[NOIP2015普及组]推销员由于不会走多余的路,所以行走产生的疲劳值只和最远的被推销的住户有关。设\(f_X(i)\)表示总共选\(X\)家住户,且第\(i\)户是最远的被推销的住户的情况下,最大的疲劳值。显然可以贪心地在前\(i-1\)户中选择\(X-1\)户疲劳......
  • Illegal mix of collations for operation 'UNION' 记录错误
    24-11-12,在DVWA靶场练习回顾SQL注入union注入的时候突然发现,不管搞都报错!Illegalmixofcollationsforoperation'UNION'自己查了好久之后才发现是数据库编码不匹配的问题!!!union两端的字段的collatie(排序规则)不同参考:https://blog.csdn.net/qq_43665434/article/details/......
  • kubectl常用命令行记录
    以下是kubectl的常用的命令1、查看podkubectlgetpod-nnamespace上述命令行可查看该命名空间下的pod情况,信息展示的少,若想列表展示更多,可使用-owide指定输出方式,如下所示kubectlgetpod-nnamespace-owide注:namespace:命名空间2、查看svckubectlgetsvc-nnamespace同......
  • 好题记录 [集训队互测 2023] 优惠购物 题解
    首先发现这个过程的限制比较多,那么考虑重新描述这个过程。令\(x_i\)表示在第\(i\)个物品上使用了\(x_i\)张券,那么一组\(x_{1\simn}\)就描述了一个方案。方便起见,令\(s_i\)为前i个物品买完后剩了几张券,那么有:\(s_0=m\)\(s_i=s_{i-1}+\lfloor\frac{a_i-......
  • AtCoder Beginner Contest 378 题解
    AtCoderBeginnerContest378题解比赛链接A-Pairing贪心#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;voidShowball(){vector<int>a(5);for(inti=0;i<4;i++){intx;cin>>x;a[x]++;......
  • [考试记录] 2024.11.12 noip模拟赛11
    T1使用\(bfs\)记录走到\(tx,ty\)的路径的横边和竖边的数量,然后取\(\max\)。这里取\(\max\)的原因是,找到的路径必须是最短路,当\(k\)取的小的时候竖边就会变多,所以这条路径就不一定是最短路了。#include<bits/stdc++.h>usingnamespacestd;#defineppair<int,int>i......
  • 洛谷 P1772 [ZJOI2006] 物流运输 做题记录
    很神经的一道题。令\(val_{i,j}\)表示从第\(i\)天到第\(j\)天每天都走一条道路,单次的最小花费。可以枚举\(\{i,j\}\)然后把在这个区间里的所有点设置成不可达,每一个\(\{i,j\}\)都可以用floyd算,时间复杂度\(O(n^2m^3)\)。令\(f_i\)表示第\(i\)天的最小花费,那么......
  • 2024.11.12 NOIP模拟 - 模拟赛记录
    Preface一套烂题。T1一眼搬的CF(赛后十秒就找到原题了),只搬idea就算了,根本不设置部分分,大样例给的更是一坨(数据范围给的\(10^{15}\),121072121算什么大样例?),甚至最后的题解都是直接复制的洛谷。T2稍好,除了实数运算稍微恶心一点,其它都没什么。T3又是一大坨,不给SPJ都......
  • 删除重复id的记录
    数据里面,id重复,创建时间不同 --新建字段repete_flag--针对重复id的数据,打标记updateyg_gate_base_bsetrepete_flag='REPETE'WHEREidIN(selectidfromyg_gate_base_bgroupbyidhavingcount(*)>1) select*fromyg_gate_base_bwhererepete_flag=......