
[Acwing] 每日一题
寒假&&暑假的每日一题
*DDL_GzmBlog
再见锋芒,准备启程
展开
-
[Acwing]3996. 涂色 区间DP
前言tag:tag :tag: 区间dp 染色问题传送门 :思路 :状态表示 :f[i][j]f[i][j]f[i][j]表示 起点从[i,j][i,j][i,j]当中选,最终操作成颜色都相同的最小步数状态计算 :如果c[i]≠c[j]c[i]\neq c[j]c[i]=c[j]f[i][j]=f[i+1][j]+1f[i][j] = f[i+1][j]+1f[i][j]=f[i+1][j]+1最后扩展到a[i]a[i]a[i]f[i][j]=f[i][j−1]+1f[i][j] =原创 2022-05-13 17:37:54 · 184 阅读 · 0 评论 -
[Acwing] 3358. 放养但没有完全放养 map使用
前言传送门 :思路题目大意 :对于给定的 SSS 和 TTT 串询问至少 从0−n遍历S串多少次,才可以顺序的写下t串从0- n遍历S串多少次,才可以顺序的写下t串从0−n遍历S串多少次,才可以顺序的写下t串因此我们可以考虑使用map<char,int>map<char,int>map<char,int>,存放26个字母对应下标然后再枚举ttt串,如果mp[t[i]]<=mp[t[i−1]]mp[t[i]] <= mp[t[i-1]]mp[t原创 2022-03-14 21:23:01 · 4469 阅读 · 0 评论 -
[ 补题|题解 ] A - The Child and Sequence
目录前言题目CODE前言题目链接 :VJ: https://vjudge.net/contest/446835#problem/ACF: https://codeforces.com/problemset/problem/438/D?mobile=true做这题的时候 感觉挺简单, 最后debug了2小时 真心不容易QAQ (还是太菜了)难度: 线段树入门基础题题目(题目就这么简单 不信你自己看)三个操作:区间求和区间取模单点修改区间求和,和单点修改都是线段树基本操作但是原创 2021-09-15 14:34:42 · 162 阅读 · 0 评论 -
[每 日 一 题]Acwing 3815. 最大约数
目录前言收获思路CODE前言数论基础 重温了一遍本来以为这题 起码On 做不了 然后就一只在考虑 没想到是数论这么一优化下来 直接O √nnb 666收获因数 只有 1 和 质数思路因此 我们知道 如果不存在一个 a^2的 约数 即所有的a1 ,a2 ,a3 … 都要 = 0或者1因为题中要求是最大 所以 指数需要全部为1那么我们只需要 枚举出所有的质因数 相乘 即得答案’CODE#include <bits/stdc++.h>using namespace s原创 2021-08-29 19:28:35 · 100 阅读 · 0 评论 -
[每 日 一 题]AcWing. 3790. 录入单词
目录前言思路CODE前言好简单啊.不对劲啊思路一看题意, 妥了, 这一定要用到 差分 awa想一想之后不就出来了?!差分处理数组 然后判断间距查找最后一次清屏的时候(毕竟 前面清屏了 完全没比要统计)还要讨论一下 一次都没有清屏的情况CODE#include <bits/stdc++.h>using namespace std;const int N = 1e5+10;int d[N],a[N];void solve(){ int n,c; ci原创 2021-08-13 13:02:37 · 104 阅读 · 0 评论 -
[ 每 日 一 题]AcWing 3800. 奇数还是偶数
目录前言思路总结CODE前言基础优化— 反向思维(太久没做了 都忘了 阿巴阿巴)思路对于一个数的奇偶性 我们只需要看个位数即可因为k比较大 所以我们只能考虑个位数然后就普通的走一遍模拟但是仔细思考会发现 我们这个复杂度是 O(k* k *t) 1e11的级别去了(但是写的时候一直没发现 脑中给自己下了一个 O(t * k) 的 想法 )那么怎么样才能少一层k呢 ?按照dp的思想把之前的 用来推现在的也就是我们可以 通过 k(1) -> k(2) 所以我们就没必要每次都 求原创 2021-08-13 12:10:14 · 108 阅读 · 0 评论 -
[ 每 日 一 题 ] AcWing 3798. 幸运年份
目录前言思路CODE前言一道 简单 的 模拟题 思维?思路大概知道题意之后 我们可以发现 只需要找到比本身大的 最近的满足条件的数之后答案 就是这个数 - 本身注意一下样例可以发现 <10的数 都是1 所以特判一下至于找这个数我们只需要统计位数 然后首位+1 再乘回去即可(具体看代码)CODE(因 ll 未开 喜提一WA)#include <bits/stdc++.h>using namespace std;typedef long long ll;voi原创 2021-08-13 11:02:22 · 356 阅读 · 1 评论 -
[ 每 日 一 题 ] AcWing 3769. 移动石子
目录前言思路CODE前言看来好久没系统的刷题了,对这种题还是不费吹灰之力,也就是说 我的水平可能也就这点吧(比赛签到题QAQ)思路数据范围很小 为了拿的最大就是把能拿的都拿了即可我们只需要枚举能拿的就行CODE#include <bits/stdc++.h>#define CYE cout<<"Yes"<<endl;#define CNE cout<<"No"<<endl;#define C_1E cout<<原创 2021-07-17 09:56:45 · 180 阅读 · 0 评论 -
[每 日 一 题] AcWing 3764. 三元数异或
目录前言思路(观察 样例得 结论)CODE前言codeforces div2 B难度吧 A也可能 (div3好久没打了不清楚)科目二还挺简单,嘿嘿思路(观察 样例得 结论)看完题目 大伙儿一定 都已经有一些思路了无非就是拆分呗 把2给拆了 和把1分配的问题 0的话都一样题目条件又限制了需要max尽可能小通过样例我们发现(样例是个好东西 竟然给这么多 好家伙)我们只需要 把’2’ 经可能的插在 b中 然后把1都丢‘2’ 后面即可 那么a中的就都是0了所以我们直接操作即可CODE#inc原创 2021-07-14 12:03:46 · 116 阅读 · 0 评论 -
[每日一题] 3763. 数字矩阵
目录前言思路CODE前言刚刚还在练倒车入库,特意休息的时候来补题加油! 奥里给!这题应该也就codeforces A题水平 div2难度的但是我竟然没一次过 太逊了(泰拉了)思路每次需要变动两个数 然后让这两个数*(-1)因为要和最大 傻子都知道如果全部负数都变正了 那么和一定最大了所以我们经可能多的让负数变正所以我们讨论一下两个负数的情况下 都可以变正三个负数必有一个是负大胆假设,(负数个数奇数必有一个是 负数)然后对于那个负数 让他经可能的 abs(绝对值)小就行 这样就原创 2021-07-14 11:18:33 · 115 阅读 · 0 评论 -
[AcWing] 3720. 数组重排
思路因为对于每个 ai+bi 都要满足 <=x 这个条件我们只需要贪心的 使得每个和尽可能的小即可所以对两个数组 按升序 和 降序 sort 一下即可CODE#include <bits/stdc++.h>using namespace std;const int N = 110;int a[N],b[N],n,x;bool cmp(int x,int y){ return x>y; }void sovle(){ cin>&原创 2021-06-23 19:06:23 · 126 阅读 · 0 评论 -
[每日一题] 3629.同心圆涂色
目录前言:思路:失误:3629. 同心圆涂色前言:写这篇的目的 还是因为 细节没大佬们做的好本菜鸟写下此篇,希望和我一样的菜鸟可以反思思路:直接模拟即可失误:pai定小了 WA了一次因为一开始 以为是 黄 蓝 黄 蓝 … 题目我也看到了 蓝色外层但是还是手速打了一个 黄 蓝的code 最后自闭没过 样例1结果又重新回去看写了一个分类讨论, 比赛的时候 肯定是慢的了 这么搞 签到题的汤都没了看到其他佬 都是...原创 2021-06-06 19:22:08 · 144 阅读 · 0 评论 -
[补题|总结] 1477. 拼写正确
目录说在前头:思路code:说在前头:作为一个大学生,没想到这题我竟然没有一遍过emmm,思路还是挺简单的太菜了太菜了,这才是入门组啊思路先观察数据范围N<= 10^100 (这个数很大 1后面100个零 我还以为很小呢太呆了)因为只需要加上每一位的个数,所以我们使用字符串存,同时我们预处理一下字符串数组即可但是挺坑的就是 单个0的情况要拉出来特判 给我wa了一次code:#include <bits/stdc++.h>using namespace std;ty原创 2021-05-27 11:17:09 · 177 阅读 · 0 评论 -
[Acwing] 前缀和维护 夏日每日一题
https://www.acwing.com/problem/content/3496/题目大意:给你一组长度为n的数组和k同时给你 每个数的标记(0和1 | 表示能否可选) 你可以选一个长度恰为k的区间 让里面的不可选数全部变成可选问你修改之后 可选元素之和的最大值是多少思路:首先 答案为 已经可选的+后继修改的所以我们已经可选的是固定的我们需要找后继修改的因此我们可以通过前缀和来处理需要修改的数组然后枚举区间即可code:(记得开LONG LONG)#inclu原创 2021-05-13 18:21:30 · 138 阅读 · 0 评论