思维
文章平均质量分 53
秋天俯身采种子
我在想,飞蛾扑火时一定是极快乐幸福的。
展开
-
codeforces1471 D. Strange Definition
D. Strange Definition#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)#pragma GCC optimize(1)#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include<cstdio>#include<iostream>#include<algorithm>#include&l原创 2021-01-12 20:09:36 · 274 阅读 · 0 评论 -
AtCoder Regular Contest 110 E.Shorten ABC——坑
计数渣渣不会啊下学期学概率论与数理统计不知道会不会提升数数能力E.Shorten ABC当B数组确定后,不难发现就是所问问题即从B序列选出A序列的方案数。等效于那么从m+n中选出s+n个小球,我们假设多选的n个小球是一个隔板,隔出数组A,多选的那个隔板即是确定B中小球的个数(因为most m个)答案就是Cm+ns+n,sC_{m+n}^{s+n},sCm+ns+n,s是数组A小球的总个数。#define IO ios::sync_with_stdio(false);cin.tie();cout原创 2021-01-04 14:36:54 · 279 阅读 · 2 评论 -
codeforces1453 E. Dog Snacks
E. Dog SnacksHeltion大佬题解fuf_ufu表示节点uuu到最近叶子节点的距离。首先不难发现,考虑一棵子树根节点为uuu,一定每次都把一整棵子树上的食物吃完,然后再去别的子树。由于每次狗总是先去离他最近的节点,如果我们把一棵子树的食物吃完时,一定停留在一个叶子节点上,即从叶子节点直接到另一棵子树。然后就是结论:考虑每个非根非叶子结点,可以发现对其每个儿子vvv都要满足k≥fv+2k≥f_v+2k≥fv+2.对于根节点,除至多一个儿子之外的每个儿子vvv都要满足k≥fv+2原创 2020-12-05 20:12:50 · 280 阅读 · 0 评论 -
codeforces1455 D. Sequence and Swaps
昨天晚上巨困,就没有打,今天课间的时候就看了一下D题,发现好像可以瞎搞,于是吃完饭就写了一下,调过样例一次就A了qaq。D. Sequence and Swaps枚举+贪心由于数据范围n≤500n\leq500n≤500,由此我们可以在n3n^3n3完成此题。最后完成所有操作后,我们手中肯定还有一个数,我们考虑去枚举这个数。最后手里的数一定不在最终的排列中,于是用一个数组b[]把除了手中的数记录下来,不难发现只要排序一下这个所有数的位置就确定了。而且不难发现如果当前手中的数是xxx,我们必须一次原创 2020-12-01 13:07:47 · 233 阅读 · 0 评论 -
codeforces1456 D. XOR-gun
D. XOR-gun大佬题解当n比较大的时候,一定有连续相同的3个数最高位都是1,只需要将这三个数其中两个异或一次即可满足题意只需要操作1次。当n比较小时可以直接暴力,不难发现异或操作要么是一段区间异或然后与区间端点相邻的比较O(n2)O(n^2)O(n2),要么是连续的两段连续区间异或与他们两个区间的分界点比较O(n3)O(n^3)O(n3)。#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)#pragma GCC optim原创 2020-11-30 00:44:39 · 268 阅读 · 0 评论 -
codeforces1457 C. Bouncing Ball
写这个题写了1h,赛后无意看见jly神的代码只能膜拜%%%C. Bouncing Ball预处理从1→k1\to k1→k开始跳需要添加多少个平台,预处从k+1→nk+1\to nk+1→n这些不难发现由于每次跳k格,只需要利用前缀和思想和前面预处理的结果即可做差求出。然后枚举删除平台的个数,例用预处理结果直接求答案。时间复杂度O(n)O(n)O(n)有一个dt的地方就是如何用数组存预处理结果,我们需要这样大小为数组cnt[k][n/k]。cnt[i][j]表示从i开始向后跳j次也就是跳了jk个格原创 2020-11-29 23:48:55 · 210 阅读 · 1 评论 -
codeforces1440 D. Graph Subset Problem
D. Graph Subset Problemjiangly代码%%%感谢大佬对次代码的解释先贪心找一下clique,如果某个点的度数是k-1,那就爆搜他的相邻节点组成clique,看看是不是完全子图。如果不是由于这个点的度数小于k(若完全子图中由此点只能是clique),那么它一定不能是完全子图中的点因此可以直接不考虑此点的存在。如果剩余节点度数至少为k,那剩余节点就是一个好的子集。否则就是无解。#define IO ios::sync_with_stdio(false);cin.tie();原创 2020-11-18 17:06:54 · 1075 阅读 · 4 评论