ICode9

精准搜索请尝试: 精确搜索
  • AcWing 122 糖果传递2022-07-02 12:34:39

    题目传送门 假设第\(1\)个小朋友有\(a_1\)颗糖果,给第\(2\)个小朋友\(x_1\)颗糖果,从\(n\)获得\(x_n\)颗糖果,此时,他有\(a_1-x_1+x_n\)颗糖果,同理,第\(2\)个有\(a_2-x_2+x_1\),第\(3\)有... 每个小朋友的目标为平均数\(avg\),列出约束方程为 \[\large \left\{\begin{matrix} a_1-x

  • AcWing 105. 七夕祭2022-07-01 17:04:35

    分治 + 推式子(构造绝对值不等式) 交换行的元素时每列的元素个数不变,交换列时同理,所以可以分别考虑行和列 对于行(列),可以看成均分纸牌的模型,唯一的不同点是从链变成了环(首尾可交换) 然后就可以推式子了 推式子具体过程 #include<bits/stdc++.h> using namespace std; #define fr

  • 【图论/基环树】AcWing 392. 会合2022-07-01 01:02:58

    分析 这题就是一道需要分类讨论的图论。。 注意到题目中每个点只有一条出边,也就是说给出的图是一个内向的基环树森林。 首先进行预处理: 开一个并查集,这能够将两个点不在同一棵基环树的情况筛掉。 利用内向树随便找一个点跳到基环树的环(环上所有点记为“根”)。然后建反图,在反图上

  • 2022暑假训练日志012022-06-29 21:02:33

    6月25日 上午恢复手感,写了一下abc256。找到了一个题解,可以补题用。 下午刷了几道题 AcWing 1927. 自动补全 AcWing 1944. 记录保存 AcWing 1842. 牛奶桶 AcWing 2003. 找到牛! AcWing 1788. 牛为什么过马路 晚上就打了一场 abc 6 月 27 日 补了一下前天晚上 abc 的题目 AcWing 1761

  • AcWing 95. 费解的开关2022-06-29 19:00:36

    原题 每一个位置至多只会操作一次,因为如果操作偶数次的话,相当于不操作 最终的状态与操作的顺序无关 如果确定了第一行的操作方案,那么后面的行数都可以依此递推 #include<bits/stdc++.h> using namespace std; #define fr first #define se second typedef pair<int, int> PII;

  • AcWing 788. 逆序对的数量2022-06-28 21:04:52

    前备知识 归并排序 不会的点这里QwQ 逆序对算法 定义 逆序对的定义如下:对于数列的第 \(i\) 个和第 \(j\) 个元素,如果满足 \(i<j\) 且 \(a_i>a_j\),则其为一个逆序对;否则不是。 分析 用分治算法解决。 我们将序列从中间分开,将逆序对分成三类: 两个元素都在左边; 两个元素都在右边; 两

  • AcWing 12. 背包问题求具体方案2022-06-28 19:40:37

    想出来一个(目前)不知真伪的写法 从1到n遍历,遇到当前容量(j)下价值(w)更大的方案就把path[j]清空,把path[j-v]转移过来,加上i 遇到当前容量下价值相等的方案就比较path[j-v] + i和path[j]的字典序 题解是从n到1遍历,用二维数组f[i][j]存状态 最后从1到n遍历,判断当前点(i)是否能从i+1

  • AcWing 100. 增减序列2022-06-28 17:36:01

    题目传送门 一、试题分析 因为题意要求,每次都一个区间加上1或者减去1,所以想到了差分。 首先,先对数组\(a\)差分一下,求出差分数组\(b\),接下来我们的任务就是对\(b[2\sim n]\)全部变成\(0\)(所有的数和\(b[1]=a[1]\)一样)即可。 我们对差分序列\(b\)直接操作,因为一个\(++\),一个\(--\),

  • AcWing 11. 背包问题求方案数2022-06-28 17:07:10

    有两种做法 第一种定义cnt[j]为体积恰好为j的所有方案数 第二种定义cnt[j]为体积不超过j的所有方案数 定义不同,初始状态(边界)不同,计算答案的方式也不同 恰好的写法 //不超过的写法 #include<bits/stdc++.h> using namespace std; #define fr first #define se second typedef p

  • 【搜索】AcWing 184. 虫食算2022-06-28 14:34:27

    写完发现代码比别人的都长(悲 但是效率不错,在洛谷可以排在最优解第四页 分析 大致思路比较简单: 枚举位(使用 \(dfs\)),从低位开始枚举变量的值,如果没填过就选取 \([0, n-1]\) 中没选取过的值填上。 当前位三个变量都得到值后,检查是否合法。 当全部位都合法输出结果即可。 接下来考虑

  • AcWing 98. 分形之城2022-06-28 13:36:16

    题目传送门 一、理解题意 本题看懂题目花费了大量的时间,后面理解题意如下: 等级一:\(4\)个点,等级二: \(16\)个点,等级三:\(64\)个点... 至于贯穿这些点的线,是城市编号增长的顺序。 分析从等级一如何到等级二,原来的城区设为\(A\): \(A\)顺时针旋转\(90\)度,再关于中间线翻转一下得

  • AcWing 1013. 机器分配2022-06-27 23:32:09

    分组背包 输出方案可以跟最短路输出路径进行类比 背包DP输出方案—拓扑图分析 #include<bits/stdc++.h> using namespace std; #define fr first #define se second typedef pair<int, int> PII; typedef long long LL; typedef unsigned long long ULL; const int INF = 0X3

  • AcWing 6. 多重背包问题 III2022-06-27 17:05:26

    二进制优化转化成01背包的复杂度为 O(n logm * m) (m为背包容量),大概是2 * 1e8的数量级,一般会超时 发现如果以j(0 <= j <= m)模上v的余数分类,相当于求固定区间的最大值(滑动窗口),可以用单调队列优化,复杂度为 O(n * m) #include<bits/stdc++.h> using namespace std; #define fr f

  • AcWing 1855. 愤怒的奶牛2022-06-27 13:02:54

    题目 思考 我就挺懵逼,为什么很多人都是BFS+二分,直接暴枚它不香吗?(虽然可能挺长,但挺容易懂) 反正n才100,不怕TLE,三重循环,干他!sort都不用! 时间复杂度嘛……也就\(O(n^3)\)嘛! 不过做\(100^3\)次而已,根本超不了时. 代码(C++) #include<bits/stdc++.h> //#deifne int long long using na

  • AcWing 97. 约数之和2022-06-25 13:01:41

    题目传送门 一、理论知识 算术基本定理 \[\large N=p_1^{\alpha_1}\cdot p_2^{\alpha_2}\cdot ... \cdot p_k^{\alpha_k} \]约数个数定理 \[\large f(N)=\prod_{i=1}^{k}(a_i+1)= (\alpha_1+1)(\alpha_2+1)...(\alpha_k+1) \]证明:因为\(\large p_1^{\alpha_1}\)的约数有\(\large

  • [AcWing 1058] 股票买卖 V2022-06-24 22:04:39

    点击查看代码 #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int N = 1e5 + 10; int n; int a[N]; int f[N][3]; int main() { cin >> n; for (int i = 1; i <= n; i ++) cin >> a[i

  • AcWing 1319. 移棋子游戏2022-06-24 08:33:13

    题目传送门 一、\(SG\) 函数 首先定义 \(mex\) 函数,这是施加于一个集合的函数,返回最小的不属于这个集合的非负整数 例:\(mex({1,2})=0,mex({0,1})=2,mex({0,1,2,4})=3\) 在一张有向无环图中,对于每个点 \(u\),设其所有能到的点的 \(SG\) 函数值集合为集合 \(A\),那么 \(u\) 的 \(SG\)

  • AcWing 1027. 方格取数2022-06-24 02:01:51

    明天补思路 #include<bits/stdc++.h> using namespace std; #define int long long #define fr first #define se second typedef pair<int, int> PII; typedef unsigned long long ULL; const int INF = 0X3f3f3f3f, N = 20, MOD = 1e9 + 10; int w[N][N]; int f

  • AcWing 256. 最大异或和 & AcWing 255. 第K小数-主席树2022-06-22 00:01:20

    可持久化,有亿点点难 明天来补思路 #include<bits/stdc++.h> using namespace std; #define int long long #define fr first #define se second typedef pair<int,int> PII; typedef unsigned long long ULL; const int INF = 0X3f3f3f3f,N = 6e5+10,MOD = 1e9+10; int s

  • AcWing 95. 费解的开关2022-06-21 14:33:04

    题目传送门 一、题目描述 \(25\)盏灯排成一个\(5x5\)的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“\(1\)”表示一盏开着的灯,用

  • [AcWing 11] 背包问题求方案数2022-06-21 00:34:34

    点击查看代码 #include<iostream> #include<cstring> using namespace std; const int N = 1010, mod = 1e9 + 7; int n, m; int f[N], g[N]; int main() { cin >> n >> m; memset(f, -0x3f, sizeof f); f[0] = 0; g[0] = 1; for (int i = 1; i <

  • [AcWing 10] 有依赖的背包问题2022-06-20 23:33:15

    点击查看代码 #include<iostream> #include<cstring> using namespace std; const int N = 110; int n, m; int h[N], e[N], ne[N], idx; int v[N], w[N], f[N][N]; void add(int a, int b) { e[idx] = b, ne[idx] = h[a], h[a] = idx ++; } void dfs(int u) { f

  • AcWing 34. 链表中环的入口结点2022-06-20 10:01:02

    题目链接:https://www.acwing.com/problem/content/86/ /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *entryNod

  • [AcWing 8] 二维费用的背包问题2022-06-19 16:31:09

    点击查看代码 #include<iostream> using namespace std; const int N = 1010; int n, V, M; int v[N], m[N], w[N]; int f[N][N]; int main() { cin >> n >> V >> M; for (int i = 1; i <= n; i ++) cin >> v[i] >> m[i] >> w[i

  • [AcWing 6] 多重背包问题 III2022-06-18 22:37:26

    点击查看代码 单调队列优化 \(f[i][j] = max(f[i-1][j],f[i-1][j-v]+w,f[i-1][j-2 \cdot v]+2 \cdot w,\cdots,f[i-1][j-s \cdot v]+s \cdot w)\) \(f[i][j-v] = max(f[i-1][j-v],f[i-1][j-2 \cdot v]+ w,\cdots,f[i-1][j-s \cdot v]+s \cdot w,f[i-1][j-3 \cdot v] + 2

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

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

ICode9版权所有