ICode9

精准搜索请尝试: 精确搜索
  • [AcWing 778] 字符串最大跨距2022-04-14 18:03:03

    点击查看代码 #include<iostream> using namespace std; string s, s1, s2; int main() { char c; while (cin >> c, c != ',') s += c; while (cin >> c, c != ',') s1 += c; cin >> s2; if (s.size() < s

  • [AcWing 776] 字符串移位包含问题2022-04-14 13:01:22

    点击查看代码 #include<iostream> #include<algorithm> using namespace std; string a, b; int main() { cin >> a >> b; if (a.size() < b.size()) swap(a, b); for (int i = 0; i < a.size(); i ++) { a = a.substr(1) +

  • [AcWing 774] 最长单词2022-04-14 12:33:31

    点击查看代码 #include<iostream> using namespace std; string str, res; int main() { while (cin >> str) { if (str.back() == '.') str.pop_back(); if (str.size() > res.size()) res = str; } cout << res

  • AcWing 【算法提高课】笔记02——搜索2022-04-14 12:32:50

    搜索进阶 22.4.14 (PS:还有 字串变换 A*两题 生日蛋糕 回转游戏 没做) 感觉暂时用不上 BFS 1. Flood Fill 在线性时间复杂度内,找到某个点所在的连通块 思路 统计连通块个数(多个连通块):逮着一个就开搜 连通性问题(能走多远,迷宫性问题,一个连通块);起点开始搜 池塘计数 普通八连通

  • [AcWing 771] 字符串中最长的连续出现的字符2022-04-14 11:33:53

    点击查看代码 #include<iostream> using namespace std; string str; int n; int main() { cin >> n; while (n --) { cin >> str; int cnt = 0; char c; for (int i = 0; i < str.size(); i++) { int

  • AcWing 1902. 马拉松2022-04-13 20:34:43

    题目链接 每次路程改变只对前后两点间距离有影响,因此每次都判断当前三个点之间的距离之和与去掉中间点的距离哪个更优即可,最后取最大值作为结果输出。 #include<iostream> #include<cmath> using namespace std; const int N = 100010; int x[N], y[N]; int dis(int a,int b)

  • AcWing 1016. 最大上升子序列和(线性DP)2022-04-13 11:33:56

    题目链接 题目描述 一个数的序列 bi,当 b1<b2<…<bS 的时候,我们称这个序列是上升的。 对于给定的一个序列(a1,a2,…,aN),我们可以得到一些上升的子序列(ai1,ai2,…,aiK),这里1≤i1<i2<…<iK≤N。 比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。 这些子序列

  • Acwing第 46 场周赛2022-04-10 19:34:13

    第2题:AcWing 4397. 卡牌 卡住的点:不用具体实现翻牌、记录编号的操作,只需求d[i]=b[i]-a[i],之后将d排序,当d[i]>0时,不选,反之则选。 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 200010; int n, m; int a[N], b[N], d[N]; i

  • AcWing 477. 神经网络2022-04-09 16:03:39

    题目传送门 解题思路: DAG求拓扑序 利用拓扑序列,根据题意做递推 #include <bits/stdc++.h> using namespace std; const int N = 110, M = N * N / 2; int n, m; int f[N], din[N], dout[N]; //邻接表 int e[M], h[N], idx, w[M], ne[M]; void add(int a, int b, int c) {

  • AcWing第8场周赛题解2022-04-09 02:31:27

    A. 3770. 最小消耗 题目链接:https://www.acwing.com/problem/content/description/3773/ 题目大意:按照题目要求消灭两种类型怪兽(可以消耗 c 转换)的最小消耗。 解题思路:循环记录 0 和 1 出现的次数,消灭一个 0 的最小消耗为 min(a, b+c),消灭一个 1 的最小消耗为 min(a+c, b)。 示例

  • AcWing第6场周赛题解2022-04-08 09:03:56

    A. AcWing 3733. 去掉一个元素 题目链接:https://www.acwing.com/problem/content/3736/ 题目大意:问共有多少个元素满足,在去掉该元素后,剩余元素的相加之和为一个偶数(注意,0 也算偶数)。 解题思路:若和为奇数,答案为奇数个数;若和为偶数,答案为偶数个数。 示例程序: #include <bits/stdc++.

  • AcWing 898. 数字三角形2022-04-06 15:02:21

    题目链接 https://www.acwing.com/problem/content/900/ 题目思路 这道题我们可以从最底层考虑,若要使当前路径之和最大,选择当前的所选值加左上/右上之和最大即可 因为有负数情况,所以要把边界设置好 题目代码 #include <iostream> #include <algorithm> using namespace std; c

  • AcWing 10. 有依赖的背包问题2022-04-04 21:33:43

    题目链接 https://www.acwing.com/problem/content/10/ 题解 需要注意的点就是,f[u][j]实际上是优化过第第二维后的状态表示,原状态表示应该是f[u][i][j]:对于根结点u,考虑其前i个子树,总体积不超过j的最大价值 dfs(root)的递归含义是:以root为根,考虑其所有子树,总体积不超过max_V的最大

  • 1135. 新年好(acwing)2022-04-03 17:02:09

    单源最短路 1135. 新年好 题目大意: n点m边(双向边),n个点保证连通。题目给定五个点,问一条包含点1和这五个点的最短路径长度。 思路和代码: 因为一般情况下不会去考虑暴力搜索或者全排列这样的高时间复杂度的操作,所以这题没有想到去枚举五个点的全排列。 正确做法是: 先做出dis[i][j]数

  • Acwing_4394 最长连续子序列2022-04-02 22:35:41

       题目来自:https://www.acwing.com/problem/content/4397/ 笔者做的时候想着能不能去动态调整记录表,但最终的简化策略其实是往维护双指针区间上面靠的,以下是答案代码; 循环再动态维护一个从l到r的区间,将移动过的地方取消标记并判断是否产生 异值 数量的变化,对于向右的拓展也是

  • AcWing 1047. 糖果2022-04-02 21:32:30

    题目链接 题目描述: 由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。 在这一天,Dzx可以从糖果公司的 N 件产品中任意选择若干件带回家享用。 糖果公司的 N 件产品每件都包含数量不同的糖果。 Dzx希望他选择的产品包含的糖果总数

  • [Acwing蓝桥杯数学知识] 扩展欧几里得线性同余方程2022-03-31 00:02:35

    扩展欧几里得用于求解方程 ax+by=gcd(a,b)的解 当 b=0时 ax+by=aax+by=a 故而 x=1,y=0x=1,y=0当 b≠0 时因为gcd(a,b)=gcd(b,a%b) 而bx′+(a%b)y′=gcd(b,a%b) bx′+(a−⌊a/b⌋∗b)y′=gcd(b,a%b)ay′+b(x′−⌊a/b⌋∗y′)=gcd(b,a%b)=gcd(a,b)故而x=y′,y=x′−⌊a/b⌋∗y′

  • AcWing 113. 特殊排序(交互题)2022-03-30 22:01:13

    有 N 个元素,编号 1,2..N,每一对元素之间的大小关系是确定的,关系具有反对称性,但不具有传递性。 注意:不存在两个元素大小相等的情况。 也就是说,元素的大小关系是 N 个点与 N×(N−1)/2 条有向边构成的任意有向图。 然而,这是一道交互式试题,这些关系不能一次性得知,你必须通过不超过 100

  • AcWing 356 次小生成树2022-03-30 07:31:49

    题目传送门 一、题目分析 本题要求严格的次小生成树,之前在\(AcWing\) \(1148\) 秘密的牛奶运输里也曾求过次小生成树,但是本题的数据范围更大,对时间复杂度的要求也更高。回忆下秘密的牛奶运输那题的基本思路。 在最小生成树中,连接生成树中任意两点$u$和$v$,则上图中由$u$到$v$构成

  • AcWing 1248. 灵能传输 蓝桥杯2022-03-29 18:31:40

    蓝桥杯的一道题:灵能传输 https://www.acwing.com/problem/content/description/1250/ 首先是简化操作,将原数组转化为前缀和数组(下标都是从1开始),一次灵能传输对原数组涉及三个数(a[i-1],a[i],a[i+1])的操作,而且操作比较麻烦,但是如果转化成前缀和数组后等价于(s[i-1]与s[i])交换位置

  • AcWing 1170 排队布局2022-03-27 12:04:05

    一、题目分析 本题同样是差分约束的问题,要求\(1\)到\(n\)之间可能的最大的距离,这使得我们更加深刻的理解了差分约束的思想。 在\(AcWing\) \(1169\) 糖果里,仔细的讲解了差分约束的基本思想,以及求不等式组的最大解需要求最短路,求最小解需要求最长路,这里不等式解的最大最小都是相对

  • Acwing单调栈2022-03-21 22:02:41

    1 题目描述 2 思路 1.用一个栈保存当前元素以前的序列,栈用一个数组来表示 2.栈中序列是单调递增的 当i<=j a[i]>=a[j]时,delete(a[i]) 保证剩余的序列一定是单调的 3 代码 package chapter02; import java.io.IOException; import java.util.Scanner; /** * @author mys

  • AcWing 95. 费解的开关 (递归&位运算)2022-03-21 18:35:04

    你玩过“拉灯”游戏吗? 2525 盏灯排成一个 5×55×5 的方形。 每一个灯都有一个开关,游戏者可以改变它的状态。 每一步,游戏者可以改变某一个灯的状态。 游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字 11 表示一盏开着的灯

  • acWing刷题记录2022-03-20 19:05:23

    第一题 费解的开关 你玩过“拉灯”游戏吗? 25 盏灯排成一个 5×5 的方形。 每一个灯都有一个开关,游戏者可以改变它的状态。 每一步,游戏者可以改变某一个灯的状态。 游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字 1 表示一

  • Acwing 4339 敌兵布阵2022-03-20 11:31:49

    来一篇超全题解 数据结构大杂烩 原题连接 题目描述 敌人有 NNN 个工兵营地,编号 1∼N1∼N1∼N。 初始时,第 iii 个营地有 aia_iai​ 个人。 接下来有若干个命令,命令有 444 种形式: Add i j,iii 和 jjj 为正整数,表示第 iii 个营地增加 jjj 个人。(jjj 不超过 303030) Sub i j,iii 和

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

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

ICode9版权所有