- 博客(17)
- 收藏
- 关注
原创 2022“杭电杯”中国大学生算法设计超级联赛(4) - Link with Running (最短路图,缩点,最长路)
2022“杭电杯”中国大学生算法设计超级联赛(4) - Link with Running (最短路图,缩点,最长路)
2022-07-29 20:38:01 165 1
原创 代码源每日一题-历法(结论/数学)
原题链接#913.历法题意给定 mmm, ddd, www, 代表某国每一年都有 mmm 个月 , 每个月有 ddd 天。每个星期有 www 天。每年的第一天也是一个星期的第一天。求出有多少对 (x,y)(x,y)(x,y) , 满足 x<yx<yx<y 且 第 yyy 个月的第 xxx 天和第 xxx 个月的第 yyy 天在一个星期内是同一天。数据范围:1≤m,d,w≤1091\leq m,d,w\leq10^91≤m,d,w≤109题解第 iii 个月第 jjj天的星期数
2022-05-12 20:50:39 288
原创 AtCoder Beginner Contest 250 - E - Prefix Equality(异或哈希)
题意给定两个数组 aaa,bbb, 每次询问 aaa 前缀上的 xxx 个数所形成的集合与 bbb 前缀上的 yyy 个数所形成的集合是否相同。集合不包含重复数字。题解使用 ZobristZobristZobrist 哈希可以直接完成此题。这是一种确定两个集合是否相等的概率算法。代码#include <bits/stdc++.h>using namespace std;#define ull unsigned long longmt19937_64 mrand(random
2022-05-11 14:45:20 568
原创 Codeforces Global Round 20 - D - Cyclic Rotation
题意给定一个序列 aaa,你可以进行以下操作:a[l…r]=[al+1,al+2,...,ar,al]a[l…r]=[a_{l+1},a_{l+2},...,a_{r},a_{l}]a[l…r]=[al+1,al+2,...,ar,al]请问能否将序列 aaa 在经过若干次操作后得到序列 bbb题解代码#include <bits/stdc++.h>using namespace std;void slv() { int n, mx = 0; cin >>
2022-04-28 21:17:09 368
原创 AtCoder Beginner Contest 249 - E - RLE(前缀和优化dp)
题目链接:E - RLE (atcoder.jp)
2022-04-27 14:03:34 620
原创 代码源每日一题-宝箱(贪心/思维)
题目链接:宝箱 - 题目 - Daimayuan Online Judge原题链接:C - Gacha (atcoder.jp)(没英文题面哇。。。)大致题意:坐标轴上有个钥匙和 个宝箱, 玩家初始位置为, 每一步可以走到 或者.当玩家到达一个有钥匙的位置时, 他可以将钥匙捡起. 当玩家到达一个有宝箱的位置时, 他可以选择使用一个钥匙将宝箱打开.试求出玩家最少需要走多少步才能打开所有宝箱.注: 同一个位置可以同时出现宝箱和钥匙, 但同一位置不会出现超过一个宝箱或超过一个钥匙...
2022-04-26 16:24:08 499
原创 代码源每日一题-数列(异或的小性质)
题目链接:数列 - 题目 - Daimayuan Online Judge大致题意:给定,代表你你可以从中选若干个数组成一个新的数组(单调递增且不为空),请求出满足以下条件的数组的数量:,。单调递增。输出答案模上m的值。题解:#include <bits/stdc++.h>using namespace std;#define int long longsigned main() { int _; cin >> _;...
2022-04-24 21:40:32 1058
原创 Codeforces Round #782 (Div. 2)-D. Reverse Sort Sum(树状数组)
题目链接:Problem - D - Codeforces题意:给定一个 01 序列,对区间分别进行递增排序,得到个序列,现给定,即每一个新序列第位的和。求在序列所对应的原序列。保证原序列一定存在。题解:对于最后一个,即,发现若等于,则一定等于,原因如下:该数为序列末尾数,排列方式为递增排列,所以末尾位置上的不论如何都不会离开,所以总贡献为。现考虑如果将第个数字移除所得到的序列与原序列的变化。移走一个数,序列数量 -1,并且移走的序列一定是递增序列,因...
2022-04-22 19:47:29 390
原创 Codeforces Round #783 (Div. 2) - E - Half Queen Cover(构造,思维)
题目链接:Problem - E - Codeforces题意:给定一个 行 列矩阵,往里面放入若干个皇后。本题中的皇后可以攻击所在行,所在列,所在的正对角线上的格子(如图所示)请问至少需要放几个皇后,使得整个矩阵的所有格子都可以被攻击到/。题解:假定当前矩阵放了个皇后,那么至少有行不包含任何一个皇后,至少有列不包含任何一个皇后。首先放入个皇后,如图(A),此时若考虑将所有涂色的行和列都移动到一起,如图(B)会发现此时/* a >...
2022-04-22 14:30:47 886
原创 Codeforces Round #783 (Div. 2)-D-Optimal Partition(树状数组,离散化)
题目链接:Problem - B - Codeforces大致题意:给定一个序列,你可以将序列划分为若干个连续非空子数组。若子数组内数字和大于0,则该子数字权值为子数组内数字个数;小于0,权值为数字个数的相反数;若等于0,权值为0.现对原序列进行划分,求所有子数组权值之和的最大值。简易题解:观察到只有区间内数字之和大于0,才能产生贡献,考虑进行动态规划。f[i] 表示前i位能得到的权值最大值。求出原序列的前缀和数组p,朴素dp式如下:for(int i = 1; i <= n;
2022-04-21 18:04:02 1107
原创 AtCoder Beginner Contest 248-F- Keep Connect(线性dp)
题目链接:F - Keep Connect (atcoder.jp)题意,给定一个2*n如图所示的图,在去掉某些边后,图依然连通,请输出n-1个数,分别代表去掉1,2,3..., n-1条边后,图依然连通的方案数题解:使用动态规划,定义f[i, j, k] 表示前i列,删去j条边,k = 1代表上下两行连通,k = 0 代表上下两行不连通。递推式如图所示#include <bits/stdc++.h>using namespace std;typedef l
2022-04-19 16:08:02 1208
原创 AtCoder Beginner Contest 248-D - Range Count Query(思维)
题目链接:D - Range Count Query (atcoder.jp)题意:给定一个序列,q次询问,每次询问给出l, r, x。求出[l, r] 区间内等于x的数字数量题解:可用主席树做,但没必要(如果出题人把数据范围改为4e6,就把主席树卡掉了)。开一个二维vector<vector<int>> g(200010), g[i]里存的数字就是 i 在原序列中所有出现的位置。对于每个查找值为x的询问,在g[x]内找到第一个大于等于l的位置,再找到第一个小于等于r
2022-04-18 20:40:15 299
原创 Educational Codeforces Round 126 (Rated for Div. 2)-D. Progressions Covering(区间加等差数列/思维)
大致题意:对于一个全为0的数列,你可以进行以下操作:选择一个长度为k的区间,对区间内的数加上等差数列,比如区间内的第一个数加1,第二个数加2,以此类推。请问要让全为0的序列中的每一个数都大于等于给出的序列,最小的操作次数是多少。大致题解:考虑从给出的序列出发,每次选择区间减去等差数列(首项和即答案),直到所有数都小于等于0。 从最后一个数出发,算出想让当前这个数小于等于0,所选择的等差数列首项最小为多少。注意,当这个数的坐标小于k时,需要特殊判断一下。然后就相当于区间减去一个等差数列,用树状数组优化。.
2022-04-12 17:28:33 765
原创 AtCoder Beginner Contest 246-G-Game on Tree 3(树形dp)
题目链接:G - Game on Tree 3 (atcoder.jp)大致题意:给定一颗树,根节点编号为1,其余结点为2~n,除了点1外其余所有点都有一个权值。A,B两人依次进行下列操作 1.B选择一个节点将其权值置0 2.A选择一个子结点,并移动过去。当A位于一个叶子节点,游戏结束。即使A不在叶子节点,A也可以选择马上结束游戏。A的得分为结束时所在结点的权值。A想让分数最大,B想让分数最小。两人均以最佳策略操作。输出A的得分。思路:因为本题要求最...
2022-04-08 22:32:52 464
原创 AcWing 356. 次小生成树
https://www.acwing.com/problem/content/description/358/
2021-12-09 21:27:35 214
原创 第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(上海)--- I-Steadily Growing Steam(背包dp)
第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(上海)--- I-Steadily Growing Steam
2021-11-30 18:32:30 1081
原创 AtCoder Beginner Contest 224 - D - 8 Puzzle on Graph
### 题目描述高桥在某条路上发现了一个拼图。它是由一个有九个顶点和M条边的无向图和八个棋子组成。图中的九个顶点被称为顶点1,顶点2,...,顶点9。对于每个i=1,2,...,M,第i条边连接着顶点ui和顶点vi.这八个棋子被称为棋子1,棋子2,...,棋子8。对于每个j=1,2,...,8,棋子j在顶点p上j.在这里,我们保证所有的棋子都在不同的顶点上。请注意,正好有一个空顶点没有棋子。高桥可以对这个谜题进行任意次数的操作(可能是零)。在与空顶点相邻的顶点上选择一个棋子,并将其移动到空顶点
2021-10-24 16:48:07 273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人