- 博客(15)
- 收藏
- 关注
原创 [CF1249F] Maximum Weight Subset
Maximum Weight Subset题意:给你一棵树,每个节点都有一个权值。选若干个点两两距离大于kkk且点权和最大。分析:树形dpdpdp。设dp[i][j]dp[i][j]dp[i][j]表示以iii为根的子树种距离iii为jjj的答案。则我们最后的答案肯定是res=max(res,dp[i][j])res = max(res, dp[i][j])res=max(res,dp[i][j]),当 0≤j≤k+1\ 0 \le j \le k+1 0≤j≤k+1。#in
2020-05-12 18:58:36
346
原创 [CF1043F] Make It One
Make It One题意:题意很简单,给你一个长度为nnn的数组aaa,让你求最小的子集,使得他们的gcd=1gcd=1gcd=1,输出最小子集的长度,没有则输出-1。分析:这类题还是很经典的,我们先观察它的数据范围是3×1053 \times 10^53×105,所以我们素数最多前7个就可以了。因为前7个素数相乘就已经超过了那个范围。我们设dp[i][j]dp[i][j]dp[i][j]表示取iii个数,gcdgcdgcd为jjj的集合最小数。然后考虑状态转移方程。dp[i][j]=Ccn
2020-05-12 18:57:39
361
原创 [CF632E] Thief in a Shop
Thief in a Shop题意:你有nnn种商品,每种商品有无数个和单价,你只能买kkk个商品,让你从小到大输出所有可能的价格。分析:完全背包。一开始总是会搞浑数量和价格。我们设dpidp_idpi表示的价格为iii的最小商品数,不难得出转移方程:dp[i]=min(dp[i],dp[i−a[j]]+1)dp[i] = min(dp[i], dp[i - a[j]] + 1)dp[i]=min(dp[i],dp[i−a[j]]+1)然后我们对单价进行排序,然后所有的商品都减去a1a_1a1
2020-05-12 18:54:34
344
原创 [CF708C] Centroids
Centroids题意:把题意抽象出来就是给你一棵树,你可以删掉一个边,此时会变成两棵树,然后把其中一棵的断点接到另一棵树的任何一个节点上。问对于树上每一个节点,能否通过最多一次改操作,把该点变为树的重心。分析:题意还挺绕昂。。。首先我们可以确定的是,对于一个节点,与其相连的所有子树中:当节点数均≤n2\le \frac{n}{2}≤2n时,我们不需要任何操作,此节点就是重心。当节点数>n2> \frac{n}{2}>2n的子树不止一棵的时候,我们肯定不能在最多一次的
2020-05-12 18:53:20
476
1
原创 [CF815C] Karen and Supermarket
Karen and Supermarket题意:有nnn个商品,第i个商品的价格为cic_ici美元,优惠劵did_idi美元,对于i≥2i \ge 2i≥2,使用优惠劵的前提是必须先使用xix_ixi的优惠劵。现问你bbb美元最多能买多少个商品?分析:很明显,是一道有依赖的背包问题,树形背包。这也是我做的第一道树形背包。我们设dp[u][cnt][0/1]dp[u][cnt][0/1]dp[u][cnt][0/1]表示以uuu为根的子树中,uuu用或不用优惠劵选了cntcntcnt个商品的
2020-05-12 18:51:19
232
原创 [CF295C] Greg and Friends
Greg and Friends这题是真想不到,虚脱ing。题意:就是有nnn个人要过河,这nnn个人中每个人体重要么是50千克,要么是100千克,现在有一艘船最多能承载kkk千克的重量,问你最少需要多少次能将所有人全部运过去(船上必须至少有一个人来开船),同时问你在最少的前提下的方案数是多少。分析:偏暴力的组合数DP吧。数据不大,我们可以统计出Num50kgNum_{50kg}Num50kg和Num100kgNum_{100kg}Num100kg,然后枚举出他们可能出现的情况。设dpij
2020-05-12 18:49:29
211
原创 [CF520E] Pluses everywhere
Pluses everywhere题意:给你一个nnn位数aaa,让你在这些数之间添加kkk个+++号,然后得到一个合法表达式,求所有可能的不同的合法表达式之和,答案对109+710^9 + 7109+7取模。分析:题意很简单,但要怎么去想呢?这可以说是一道计数dp的题吧。我们可以单独的考虑每一位aia_iai的贡献,首先可以肯定的是,一共有n−1n - 1n−1个位置可以放+++号,然后我们根据离aia_iai最近且在aia_iai之后的+++号位置进行讨论:最近的一个加号在aia_i
2020-05-12 18:48:02
275
原创 [CF675E] Trains and Statistic
Trains and Statistic题意:有nnn个火车站,每个火车站都有一个值aia_iai表示从站台iii出发可以坐车到[i+1,ai][i + 1, a_i][i+1,ai],设dijd_{ij}dij表示从iii坐到jjj最少需要坐几辆车,让你求∑i=1n∑j=i+1ndij\large\sum_{i = 1}^{n}\sum_{j = i + 1}^{n}d_{ij}∑i=1n∑j=i+1ndij分析:这题从前往后不太好求,我们可以从后往前推。设dpidp_idpi表示
2020-05-12 18:46:26
231
原创 [CF559C] Gerald and Giant Chess
Gerald and Giant Chess题意:给你一个h×wh\times wh×w的网格和nnn个黑点,问你从(1,1)(1, 1)(1,1)到(h,w)(h, w)(h,w)且不经过那nnn个黑点的方案数,你只能向下或者向右走,答案对109+710^9+7109+7取模。分析:首先我们分析没有一个黑点的方案数,即我们只需要向下走h−1h-1h−1步,向右走w−1w - 1w−1步。那么也就是在这h+w−2h + w - 2h+w−2步中我们选择h−1h - 1h−1步向下走,即方案数为Ch+
2020-05-12 18:42:47
452
原创 关于ubuntu18.04 sudo apt install libgtk-3-dev 显示依赖问题的解决方案
关于ubuntu18.04 sudo apt install libgtk-3-dev 显示依赖问题的解决方案。“libgl1-mesa-dev : 依赖: mesa-common-dev (= 18.0.0~rc5-1ubuntu1) 但是他将不会被安装”这类问题其实你只要更新一下就好了。sudo apt update && sudo apt upgrade还不行的话再...
2020-04-13 17:52:39
7450
4
原创 Codeforces gym 102409 Semana i 2019部分题解(A,B,C,E,F,G,H,I)
A. Easy Math这题是一道高精度问题,所以我选择了Java提交,但你假如直接按照它给的公式算的话,在32测试点的时候好像会出现科学计数法而导致wa32。所以你可以选择两种方法:第一种是使用java的toPlainString()方法直接显示,不用科学计数法表示。第二种方法就是按照官方题解说的分子乘以105010^{50}1050再稍微模拟下。这里我就只给出第一种代码。impor...
2019-12-22 17:43:53
824
原创 golang改变图像的某个像素的颜色
这几天在做一些验证码的识别,以前在写爬虫遇到验证码时我通常会去调用一些打码平台,但这次我想自己来尝试研究下验证码的识别,我用的是golang+opencv+tesseract。我把自己遇到的一些问题记录下来,先讲讲go如何改变某个像素的颜色。我们的验证码大概长这样(有的容易有的难,关键是那个字符的切割我感觉不太好切,有的挨得紧。其实是自己太菜了)然后我们不难发现他们有一个共同特点,那就是*...
2019-08-02 17:32:48
2077
原创 ubuntu18.04美化主题(完整版)
和网上的美化一样,但是我当初跟着博客美化的时候遇到一些问题,按博客的做法无法解决。所以我自己也写一篇关于ubuntu18.04美化主题的博客。第一步:安装主题工具:GNOME Tweakssudo apt-get updatesudo apt-get install gnome-tweak-tool然后安装完成后我们打开Tweaks(截图如下):第二步,修改窗口按钮位...
2019-06-09 21:15:08
74370
38
原创 2018黑龙江ACM省赛部分题解(hdu6480 hdu6484 hdu6486 hdu6489)(待更新)
新博客地址:https://blackbatty.github.io/A - A Count Task本题大概题意就是输入一个字符串,求它有多少个子字符串只包含一种小写字母。我们大可以进行一次遍历,统计他相同的小写字母个数cnt,在求出它cnt+1的组合数。C(cnt + 1)取2,我也不知道这个正确的读法是怎么读的23333。AC代码:#include <bits/stdc++....
2019-05-01 19:06:49
1097
原创 在Go中调用JS代码(otto)
otto是一个Go语言实现的JavaScript 解释器,它的项目地址为:https://github.com/robertkrimen/otto假如我现在有一个encrypt.js的文件,里面的内容为:var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function e...
2019-01-14 18:36:35
12937
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人