acwing abc dfs 97
Acwing第132场周赛
AcWing 5366. 大小写转换 #include <bits/stdc++.h> #define ls p<<1 #define rs p<<1|1 #define PII pair<int, int> #define ll long long #define db double #defin ......
ABC331G题解
ABC331G 日常被bot吊打罢了。 首先注意到一件事是你 需要求一堆max的期望 对吧。所以其实上来就应该试试上 min-max容斥 的。但是鉴于我没有脑子,所以其实没想到也可以理解。 先来复习一下式子: \[Emax(S) = \sum_{T \subset S} Emin(T)(-1)^{\ ......
前缀和/差分——acwing算法基础课笔记
个人笔记,欢迎补充,指正。 一维前缀和 对于数组: a[1],a[2],a[3]...a[n]; 其前缀和数组为 s[i] = a[1] + a[2] + ... + a[i]; 下标必须从1开始 求前缀和 1 for(int i=1;i<n;++i) 2 s[i] = s[i-1] + a[i]; ......
ABC 331 F - Palindrome Query(字符串哈希,树状数组)
字符串哈希 [OI-Wiki](字符串哈希 - OI Wiki (oi-wiki.org)) 分为两种哈希方式:以左为高位 和 以右为高位 如果只是快速查询每个字串的哈希值,用以左为高位比较简单,即 \[Hash[l...r]=Hash[1...r]-Hash[1...(l-1)]\times ba ......
AtCoder_abc328
A - Not Too Hard 题目链接 题目大意 给出$N$个数($S_1$ $S_2$...$S_n$)和一个$X$,输出所有小于等于$X$的$S_i$之和 解题思路 循环遍历每一个$S_i$并判断是否大于$X$ 代码 // Problem: A - Not Too Hard // Conte ......
AtCoder_abc327
T1 ab 循环从s[0] 到s[n-2] 判断有无ab相邻 T2 A^A 两层循环枚举就可以了 由于aa会增长的很快,所以当a=16时aa就已经大于$10^{18}$了,一定不会T 就这么点数打表也能过 T3 Number Place 就是数独的判断规则,h,l,g三个数组存储已有的数就好 宫的判 ......
AtCoder_abc329
AtCoder_abc329 比赛链接 A - Spread A题链接 题目大意 输入一个字符串由大写字母组成的$S$,输出$S$并在每一个字符之间加上空格 解题思路 随便打打就能过.jpg 代码 // Problem: A - Spread // Contest: AtCoder - Sky In ......
AtCoder_abc330
AtCoder_abc330 比赛链接 A - Counting Passes A题链接 题目大意 给出$N$个数$a_1,a_2,a_3\cdots,a_N$,和一个正整数$L$。输出有几个$a_i \le L$. 解题思路 O(n)遍历一遍就好了 代码 // Problem: A - Count ......
AtCoder_abc331
AtCoder_abc331 (这次题真的真的真的好难) 比赛链接 A - Tomorrow 题目链接 题目大意 有一个$M$个月,$D$天的日历,请输出$y年m月z日$的下一天。 解题思路 先让天数加一,如果超过了$D$就让月份加一,天数减$D$,然后月份同理 代码 // Problem: A - ......
AtCoder_abc326
T1 2UP3DOWN 简单的if判断,做题一分钟,翻译十分钟。。。 代码: #include<bits/stdc++.h> using namespace std; int main(){ int x,y;cin>>x>>y; if((x<=y&&y-x<=2)||(x>y&&x-y<=3)) c ......
Acwing.第132场周赛
Acwing.第132场周赛 比赛地址 A.大小写转换 题目 思路: 简单的模拟,可以使用c++大小写转换库函数,但是由于我早上比赛时候没用好就不敢用了 就用了ASCII码转换 代码: #include<bits/stdc++.h> using namespace std; void solve() ......
[ABC017D] サプリメント 题解
题目传送门~ 一道 DP 前缀和优化好题。 题目分析 首先,朴素 DP 非常好想。可以从后向前考虑,设 \(f_i\) 表示从第 \(i\) 个补品开始的摄取方法数。 摄取一个补品:\(f_i = f_{i+1}\) 摄取两个补品:\(f_i = f_{i+2}\) 以此类推。 则转移方程为: \[ ......
Atcoder ABC235 D - Multiply and Rotate
[ABC235D] Multiply and Rotate 题面翻译 给定两个整数\(a\),\(x\)和\(N\),你可以对这两个数进行以下操作。 把\(x\)乘以\(a\) 将\(x\)末尾的数字移动到\(x\)的开头(该操作只能在\(x≥10\)且\(x\)不能被\(10\)整除时进行) 例如 ......
acwing week2 基础算法3总结
acwing week2 基础算法3总结 总结点1:双指针算法 //常用模版框架 for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; } 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 ( ......
AI 将在 5 年内赶超人类;雷军回应小米没有核心技术;苹果给 ARM 专利费曝光丨 RTE 开发者日报 Vol.97
开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编 ......
ABC270F 题解
和博客园一样好的体验 思路 首先看到花最小代价使得所有点连通,果断转换成最小生成树问题。 接下来就要考虑怎么建图,首先陆地就正常连不用说,建机场和港口的代价貌似都是点权,考虑转成边权。因为一个点飞或者划船到另一个点要两重代价,所以若我们想让 \(u\) 和 \(v\) 建能飞过去的边,我们可以先从 ......
【AcWing-Linux】03. Shell
Shell 一、Shell简介 shell是我们通过命令行与操作系统沟通的语言。 shell是一种脚本语言,通过对应的脚本解释器解释执行,一般作为内置于操作系统的应用程序向用户提供访问操作系统内核的服务。 shell脚本(shell script)可以直接在命令行中执行,也可以将一套逻辑组织成一个文 ......
【Acwing-Linux】8.1 租云服务器
注册阿里云 https://www.aliyun.com/ 按照要求注册阿里云账号。 购买云服务器ECS 首先,先点击控制台。 选择云服务器ECS。 点击实例。 创建实例。 这里我们选择自定义购买,也可以选择快速购买。 分别选择:包年包月、地域、实例规格、镜像(Ubuntu 22.04 64位)、分 ......
1027. 最优账单平衡(待完善)-dfs
题目描述 一群朋友在度假期间会相互借钱。比如说,小爱同学支付了小新同学的午餐共计 10 美元。如果小明同学支付了小爱同学的出租车钱共计 5 美元。我们可以用一个三元组 (x, y, z) 表示一次交易,表示 x 借给 y 共计 z 美元。用 0, 1, 2 表示小爱同学、小新同学和小明同学(0, 1 ......
【DFS深度优先遍历】给定一个数组,从第一个开始,正好走到数组最后,所使用的最少步骤数
题目描述 给定一个数组,从第一个开始,正好走到数组最后,所使用的最少步骤数。 要求: 第一步从第一元素开始,第一步小于<len/2(len为数组的长度)。从第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少, 如果目标不可达返回-1,输出最少的步骤数,不能往回走。 输入 7 5 9 4 2 ......
Acwing第 131 场周赛 之找最值过程中维护某个性质的方案
https://www.acwing.com/problem/content/5367/ 题目如果只需要输出最大值,我都没有问题。每次需要输出方案的时候,我似乎都需要先统计最大值,再重新扫描一遍找所有能够取得最大值的方案,然后在这些方案中找到最大值。最好的做法应该是在找最大值的过程中就维护题目要求方 ......
Acwing4244牛的比赛
Acwing4244.牛的比赛 题目部分 N 头奶牛,编号 1∼N,一起参加比赛。 奶牛的战斗力两两不同。 这些奶牛之间已经进行了 M轮两两对决。 在对决中,战斗力高的奶牛一定会战胜战斗力低的奶牛。 请问,通过上述 M轮对决的结果,可以确定多少头奶牛的具体战斗力排名。 输入格式 第一行包含两个整数 ......
【DFS深度优先算法】全排列、组合总和
全排列 题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。 题目链接:46. 全排列 输入描述: 输入:[1,2,3] 输出描述: 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 思路:依次从前往后把所有数字,固定在第0个位置,此 ......
[ABC277G] Random Walk to Millionaire 题解
题目链接 点击打开链接 题目解法 首先 \(O(n^3)\) 的 \(dp\) 是显然的,令 \(f_{i,j,k}\) 为第 \(i\) 步在 \(j\),当前等级为 \(k\) 的 \([i,n]\) 步获得钱数的期望,转移枚举出边即可 一个很妙的优化是:贡献都是 \(k^2\) 的形式,所以我 ......
AtCoder Beginner Contest(abc) 330
B - Minimize Abs 1 难度: ⭐⭐ 题目大意 给定n个数Ai和一个范围l, r; 问是否存在一个长度为n的序列Xi, Xi的范围是l ~ r; 对于1 ~ n中的每个i, 都要求满足|Xi - Ai| <= |Y - Ai|, Y是l ~ r中的任意一个数; 解题思路 题目有点难理解 ......
DFS深搜解决迷宫问题(原理分析+代码实现)
深度优先搜索(DFS) 求解思路: 1.先判断是否到达目标位置,如果到达目标位置,再试探有无其他更短的路径。 2.如果没有到达目标位置,则找到下一步可以到达的位置,直到找到目标位置 ......
AcWing 1015. 摘花生
题目描述 设 \(f_{i,j}\) 表示从位置 \(i,j\) 前面走过的,能摘到花生颗数的最大值且以 \(i,j\) 结尾。 划分区间: \(f_{i-1,j}\) 从左边走来。 \(f_{i,j-1}\) 从上边走来。 那么状态转移方程就是: 当 \(i=1,j=1\) 时,\(f_{i,j} ......
DFS算法的非递归遍历分析
两种写法,一个是边表顶点号全部压栈,一个是类似后序非递归遍历 1、 void DFS(Graph G,int i) { int p,w; Stack S; InitStack(S); Push(S,i); visited[i]=true; while(!isEmpty(S)) { Pop(S,p); ......
ABC330 C Minimize Abs 2 题解
Link ABC330 C Minimize Abs 2 Question 给定一个整数 D 求 \(|x^2+y^2-D|\) 的最小值,\(x,y\) 为非负整数 Solution 同时枚举 \(x,y\) 显然是不切实际的,考虑折半枚举 枚举 \(x^2\) 然后寻找接近 \(D-x^2\) ......