自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Android13.0 Foreground Service 无法弹出通知

弹不出通知,发现测试机上的apk程序无法设置通知权限,在dk哥帮助下,查看开发者文档最终花了1h才解决,Android 13.0后要给两个权限…

2023-07-03 16:42:51 365

原创 组队练习数学-04

ACM组队刷题codeforces

2022-09-20 23:27:46 193 1

原创 牛客练习赛100E.小红的公倍数(线段树+究极卡常

牛客比赛题目

2022-06-17 14:19:59 226

原创 2022广东省赛游记

省赛游记

2022-06-06 22:23:54 203

原创 Codeforces Round #581 (Div. 2) E. Natasha, Sasha and the Prefix Sums

前言:好一个问题转换。题目传送门  题目类型:路径、卡特兰数。  解析: 参考了%%%大佬的题解  就怎么说,记录一下吧  code:#include <bits\stdc++.h>#define Lnnnb return 0;#define ll long long#define maxn 4040#define mod 998244853using namespace std;void eninit();ll n,m,c[maxn][maxn];void

2022-04-22 20:24:59 211

原创 思想——高维拆分低维组合

前言:将高维数据拆分成低维的组合,以降低时间复杂度 OR 用已知的数据结构来简化题目。文章目录NWERC 2020 I. Island TourCodeforces Round #574 (Div. 2) E. OpenStreetMap总结NWERC 2020 I. Island Tour题目传送门  题目类型:模拟、低维遍历  题意:n(400)个点形成圆环,每个人在点或者i到i+1的路上都有不同停留时间。三个人要同时遍历这个环,问是否存在三个起点,使得三人在遍历的过程不会相遇。  解析

2022-04-22 14:04:18 1399

原创 Codeforces Round #609 (Div. 1)C. K Integers(逆序对、二分、向中聚集)

前言:还行,推出了个大概,就差临门一脚。题目传送门  题目类型:逆序对、二分、向中聚集。  解析: 很明显,求f(n)的时候就是求整个数组的逆序对。顺着这样的思路,f(k)就是把1到k聚集到一起,然后求1~k的逆序对。然后我是从fn求到f1的。  那么题目分成两步了,第一步把每个数字对其后面数生成的逆序对数量找出来,记在suf[a[i]]里。  第二步就是求聚集k个数的花费。最优解是最中间的数不动,其他数向中间靠拢。(偶数时中间两个都要试一下)  如何找到最中间的呢?假设求f(k),现在数字

2022-04-18 23:19:23 175

原创 2018 China Collegiate Programming Contest - Guilin Site(D/H/G/J/A)

前言:单人写了一下,只写出了4题,大概铜中的水准。疯狂wawawa。文章目录D. Bits ReverseH. Hamming DistanceG. Greatest Common DivisorJ. Stone GameA. Array Merge总结D. Bits Reverse题目传送门  题目类型:二进制、位运算  解析: ABC倒置为CBA其实就是隔一位交换、那么奇数位可以互换、偶数位可以互换;分别看一下奇偶位1数量是否一样,然后贪心取。  code:#include <b

2022-03-31 23:09:26 517

原创 Educational Codeforces Round 125 (Rated for Div. 2)E.Star MST

前言:歪比巴卜题目传送门  题目类型:dp、MST、完全图  解析: 1.定义dp[i][j]为i个点连接点1,最大边权<=j的方案数  2.原理:uv相连,边权Wuv >= max( Wu1 , Wv1 ) , 所以当前与1边权最大的点有清晰的计数方法  3.以小状态更新大状态:dp[i][j]更新dp[i+z][j+1],具体的,新增z个(与点1边权)为j+1的点,每个点连接(与1边权)<=j的点,贡献(k-j)^(z);z个点互连贡献(k-j) ^(z*(z-1)/2)

2022-03-28 23:29:44 341

原创 codeforce分数记录贴

历时11个月紫。紫名来的比预期晚太多了。最近准备昆明,多刷区域赛了,昆明打完准备冲橙。初赛:2021.4.16绿名:2021.4.29(13天)青名:2021.6.06(37天)蓝名:2021.6.20(14天)紫名:2022.3.22(9个月=_=)之前刷了蛮久1800-2200分段的题的,专门收藏下来每天写个三四道。...

2022-03-25 17:38:54 576

原创 2019-2020 ICPC, Asia Jakarta Regional Contest.E. Songwriter

前言:之前感觉做法有点突兀,一觉睡醒感觉又有点道理,记录一下题目传送门  题目类型:dp、贪心、逆向  解析: 由于题目要求序列字典序最小,那么最前面的我们需要尽可能的让他小。  但是,前面的选完无法保证后面的能够合法(已经有一点点逆向考虑的意思了)。那么我想知道第i个选在哪里才能保证后面的合法,由于相邻有限制关系,就需要知道i+1让后面合法的范围,同理需要知道i+2、i+3…n的范围,而n后面没有了,所以n的范围就是【L,R】,然后根据相邻关系倒推回去。再从前往后贪心。具体方式见代码  co

2022-03-15 12:52:24 362

原创 D. Frog Jumping(裴蜀定理、bfs)

前言:有趣的数论题 (因为表达式少写括号多d了一个小时的bug(晕题目传送门  题目类型:数论、裴蜀定理、bfs  解析:先说一个结论,当n小于a+b时直接bfs;>=a+b时所有点x == k*gcd(a,b)都能到达。  bfs部分不说了,很基础。  设青蛙向右跳跃x次,向左y次,到达了n,对于青蛙的跳跃轨迹,可以用一个方程表达:ax + by = n。  这个式子就很难不想到裴蜀定理:a、b是整数,那么一定存在整数x、y使得ax+by=gcd(a,b)。  所以青蛙能够到达

2021-12-15 20:18:40 262

原创 D. Not Quite Lee(裴蜀定理、gcd、lowbit)

前言:思维+数论+证明给我干傻了。题目传送门  题目类型:数论、裴蜀定理、gcd、lowbit  解析:引用一下大佬Arctic_Clam的图。设选定的子序列数组为c。  设式子左边部分为S,可以发现式子右边的xi*ci部分可以用到裴蜀定理。就是说xi *ci的和是gcd(c1…ck)的倍数。  设g = gcd(c1…ck)。若上式有解,则g|S(S也应该是g的倍数)。  注意S部分,已知g | ci,那是否有g | (ci/2)呢,有的话则直接good。  有一个简单的结论:如果x |

2021-11-29 01:12:15 290

原创 E. Kuroni and the Score Distribution妙妙构造、证明

前言:这一场,寄!题目传送门E. Kuroni and the Score Distribution  题目类型:数学、证明、贪心构造。  解析:凭直觉会想到构造1~n的数组,此时三元组最多。感性证明一下:比如1,2,3,4,5,6,7。7 = 1+6 = 2+5 = 3+4。7可以把1-6的所有数都用来构造三元组,每个数都尽量把前面的数用来构造三元组(i-1)/2个,所以这样构造三元组是最多的,这样还不够的话就寄了。  如果还没构造完就超过了,那么此时需要的数<=(i-1)/2。比n =

2021-11-18 13:32:33 239

原创 Codeforces Round #632 (Div. 2)F. Kate and imperfection(逆向、贪心、因子)

前言:用思维干掉一道2200的题,很开心。这里提供一个nlogn的逆向思维方法。题目传送门F. Kate and imperfection  题目类型:数学、因子、贪心、逆向思维。  解析:感觉从size从2到n不好想,反过来想一下,设g为最大的gcd,当size==n,此时g必定是n/2,想使答案缩小,就要把g的倍数删到只剩一个,贪心的想,从大的删。从n/g* g一直删到2*g。  复杂度方面,相当于把2~n/2的倍数都过一遍,略小于调和级数nlogn。  code:void solve(

2021-11-16 15:59:09 203

原创 Codeforces Round #641 (Div. 2)D. Orac and Medians

前言:好久没写题解了,虽然一直在刷,但是懒。。题目传送门D. Orac and Medians  题目类型:思维、中位数、转换。  解析:从最简单的想:选两个数,那么会转换为较小的数,只要有一个≥k的数在k旁边,就能整出2个连续k。那么就可以选两个k加一个其他数,一起变成k,重复就全部变成k了。  如果k旁边的数都小于k,那么可以让≥k的数靠近k。  设x≥k,问题就转化为整出连续的(≥2)x即可。那么要求3个数中要有2个≥k,4个中有3个,5个中有3个…可以发现3个中有2个是整出连续x的充分

2021-11-15 13:31:15 221

原创 这两个月的codeforce比赛情况(rating:1462-1786)

  5月到7月中打的比较猛,场场不漏,七月初达到小巅峰,之后忙着校队暑训,而且出去玩了20天,这段时间状态一直下滑,不过最近两场恢复稳定,快开学了,继续向前冲。订个小目标:10月达到1900,整个紫名。年内达到2100,整个黄名。...

2021-08-17 15:25:26 352 4

原创 D.Digits

前言:思维题orz orz题目传送门B.Cobb  题目类型:暴力,思维。  解析:首先我们可以注意到k的取值很小,但是整体看下来无法从式子:i⋅j−k⋅(ai|aj)的特性来找到突破口。  于是我们考虑化简题目,去掉k,式子变为:i⋅j−(ai|aj),此时有一个结论,直接取i=n-1,j=n。  正确性:我们先假设i=n-1,j=n,因为ai <= n ,所以ai|aj - ai <= n,此时如果i变成n-2,对于(ixj)来说下降了n,而对于−(ai|aj)最多上升n,极限

2021-08-17 15:15:04 114

原创 Codeforces Round #675 (Div. 2)C. Bargain

前言:切题切到硬石头了,特来记录一下。题目传送门C. Bargain  题目类型:数学,递推。  解析:在分析题目之前,我们先引入这样的思想:分位求贡献。对于一个数,例如:5037489,它的第七位是9,对整个数的贡献是9*(10^0) = 9,第六位是8,对整个数的贡献是8*(10^1) = 80,以此类推。  下面我们逐步增加难度,对于5037489,我们删除其中的第二位到第五位,也就是374,可以发现374右边的数贡献不会变,而左边的数贡献缩小了10^3倍。  这样我们就得到了一个规律:

2021-05-24 11:05:53 425 2

原创 Codeforces Global Round 14 (A~E)

Codeforces Global Round 14前言:比赛时思路十分混乱不清晰。这场比赛思维性很强。差点爆零Rating:1299 -> 1266 掉分了555~~比赛时做出:A、B赛后想出:C、D、E。F、G我明天再看题解传送门:A. Phoenix and GoldB. Phoenix and PuzzleC. Phoenix and TowersD. Phoenix and SocksE. Phoenix and Computers...

2021-05-04 01:04:49 183 2

原创 E. Phoenix and Computers

前言:写了四个小时,推出巨多种dp式子,推了半天发现基本性质给忘掉了,然后重新推才搞定。人傻了。万物皆可DP时间复杂度为n2的DP。先上code:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std; int n,mod;long long dp[405][202][2],mu[405][405]; i

2021-05-04 00:56:37 328 1

原创 D. Phoenix and Socks

前言:这题真滴水。D. Phoenix and Socks  题目类型:贪心  解析:  贪心思想,首先,能不花钱就不花钱,看看能不能左右匹配。  设对于左右不同颜色的直接匹配为硬匹配,花费2元。不花钱的处理完了之后,若存在L != R的情况,此时不能直接硬匹配。如果L多,就在1~L中找找,能不能改方向,不改颜色匹配。因为此时硬匹配不但要改颜色而且要改方向,不如先在L中看看能不能同方向匹配,能的话绝对是赚的,每匹配一对,最终少改一次颜色。  最后硬匹配即可。  code:#include

2021-05-04 00:25:32 769 2

原创 C. Phoenix and Towers

前言:其实就是合并果子。C. Phoenix and Towers  题目类型:贪心,优先队列  解析:  对于把n个数放到m个位置上的问题,我们可以先考虑简化版本:选m个数放到m个位置上。显然,m个数,任意两个数的差不超过x,即最大和最小的数差不超过x,那么这m个数就是原数组中最小的m个数。这一部分sort处理。  接下来考虑,在处理好的m个数中,添加一个数。那么现在有m+1个数,我们可以取其二相加,贪心一下,选两个最小值相加。不断重复这个操作。便得到正解。这部分用优先队列维护。  可以证明

2021-05-04 00:14:06 126

原创 B. Phoenix and Puzzle

前言:无前言。B. Phoenix and Puzzle题目类型:规律,构造。  解析:观察,可以用四个三角形的直角边组成一个基础正方体,也可以用两个三角形的斜边组成一个基础正方体,大正方体必定能由i*i个基础正方体得来,枚举即可,则大正方体有个三角形i.i.4或者i.i.2个三角形。  code#include <iostream>#include <cmath>#include <cstdio>#include <cstring>#in

2021-05-03 23:22:28 575 1

原创 A. Phoenix and Gold

前言:我是菜鸡,写这题被自己的脑洞折磨,写成dp,dfs,差点没写出来。A. Phoenix and Gold  题目类型:构造,模拟。  解析:题目中重要信息:数组中每个数都不一样,那么直接模拟,从1取到n,如果发现到i时,前缀和pre[i]=x,那么把i和没取过的换一下就行了,因为每个数都不一样,所以换完之后pre一定不等于x,如果等于,说明数组总和=x,输出no。  code:#include <iostream>#include <queue>#include

2021-05-03 23:14:39 156

原创 Codeforces Round #714 (Div. 2)

前言:切题记1。还是只做出一道…A. Array and Peaks  从2号开始,相邻的两个换一下就行。B. AND Sequences  题目:给出一个数组a,你可以对其任意排列,问达成a1&a2&…&ai=ai+1&ai+2&…&an(1 <= i <= n)的排列有多少种。  推导题,设a的前缀与为pre,后缀与为suf,则题目的含义变成pre[i] = suf[i+1],根据题意,从i等于1开始,有pre[1] = suf[2

2021-04-23 12:31:36 106

原创 Codeforces Round #717 (Div. 2)

前言:又只做出了一道题。。成绩:rating : 679–>913A. Tit for Tat  水题,字典序,前面尽量小,后面尽量大。B. AGAGA XOOORRR  题目:给出一个数组,可以对相邻两个数异或并以这个新数代替原来的两个数,问:能否使得数组所有元素相等(最少保留两个数)。  当时算错了,搞得我以为异或没有结合律。。。  因为异或有结合律,所以如果有解,最终得到的数组肯定是原数组的某种划分。但是划分要考虑分段的数量,每个段的内容,非常难搞。此时考虑异或的特性,两个数A异或

2021-04-22 19:49:42 539

原创 Codeforces Round #716 (Div. 2)

前言:第2次打Codeforces ,又是被虐…成绩:rating :??不知道在搞什么,系统分数重算中虽然也没多少分通过:A看了BC...无从下手A. Perfectly Imperfect Array 给出一个数组,问:是否存在这个数组的某个子序列,其所有元素 的积不是一个完美数(完美数:某个整数的平方)。 水题,若一个子序列的积B为完美数,假设B = A x A , 此时混进去 一个不完美数,则积变为BxC = Axsqrt(C) x Axsqrt(C) 就不完美啦,

2021-04-20 21:15:05 158 2

原创 Codeforces Round #715 (Div. 2)

Codeforces Round #715 (Div. 2)前言:第一次打Codeforces ,提交的时候甚至不知道c++用什么编译器。。好久没写博客了,最近会把cf的比赛,某些难懂的算法和nb的题记录一下。成绩:rating :0 -> 440通过:A、B看了C题,想了半天搞不出来,已12点,困,遂睡觉。A . Average Heightsb题 , 题目给出一个数组 , 要求进行顺序调换之后使得 “ 相邻两个数的平均数为整数 ” 这样的对数最多。那么就是所有奇数放前面,偶数

2021-04-18 17:43:33 239 2

原创 CTSC1997选课——之简单树形背包剖析

树形背包入门————写了一道树形背包题目,想了挺久的,把我的思路分享一下。这里引用一道基础树形背包题目来配合讲解。洛谷:P2014 CTSC1997选课题意:在森林中每个点都有权值,选择M个点,使得总权值最大。(选择一个点,当且仅当它是根节点或者它的父节点被选择)感觉对于我这种不太聪明的初学者很不友好,dp讲究一个寻找子问题,区间dp和线性dp一般直接根据题意找子问题在推出更大的问题。这...

2020-04-10 16:23:14 279

原创 SCAU 10687 东方迷宮

**SCAU 10687 东方迷宮**这里给出启发式的题解和比较简单的做法。(代码五十行)题意不再赘述。1.思路:要找出一条最短路,使得路上权值之和最大。你看到这题你首先想到了什么做法呢?如果是:枚举出所有最短路再算权值。没错,这就是优秀大学生最喜欢的暴力法,恭喜你,可以枪毙了。你可以在纸上画一画,你会发现,如果你想走出最短路,只能向右或者向下,也就是不能回头。想到这一步,就可以...

2020-04-01 22:35:20 164

原创 SCAU 18430 Aerial Photography

18430 Aerial Photography该题有题解时间限制:1000MS 内存限制:65535K提交次数:48 通过次数:9题型: 编程题 语言: 不限定DescriptionAlice is preparing for her next trip during the summer vocation. She is now planing for the route o...

2020-03-15 11:51:11 178 2

原创 SCAU 18112 Play Ball

SCAU 18112 Play Ball时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0题型: 编程题 语言: 不限定DescriptionOne day, Xiaoming and his friends want to play the basketball, but there are not basketball court nearby. So t...

2020-03-14 16:16:50 120

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除