- 博客(12)
- 收藏
- 关注
原创 集合操作
题目:集合操作题解:先把所有数字都放进去预处理。然后把要插入的删除,删除的插入。#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int>P;const int inf = 0x7f7f7f7f;const int N = 1e6+10;const ll mod = 1e9+7;int read(){ char ch=getchar();int
2020-05-25 22:38:44 154
原创 中位因数
题目:中位因数题解:找到i的倍数j,那么i和j/i就有可能是j的中位数,保证i<j/i,既然是中位数,那么i就应该所有因子左边的最大值,所以用a来维护。#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int>P;const int inf = 0x7f7f7f7f;const int N = 1e6+10;const ll mod = 1e9+7;
2020-05-25 01:08:56 411
原创 序列卷积之和
题目:序列卷积之和题解:这题打表找规律,然后用前缀和。每对i*j出现了多少对。第一行相当于(a[1]*4+a[2]*3+a[3]*2+a[4]*1)*1第二行相当于(a[2]*3+a[3]*2+a[4]*1)*2第三行相当于(a[3]*2+a[4]*1)*3…#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int>P;const int inf =
2020-05-23 13:47:17 1235
原创 Paint House
题目:There are a row of n houses, each house can be painted with one of the three colors: red, blue or green. The cost of painting each house with a certain color is different. You have to paint all the houses such that no two adjacent houses have the same
2020-05-22 18:24:46 394
原创 钱币兑换问题
题目:钱币兑换问题题解:这题有点类似于背包。1、确定状态,dp[i][j]表示硬币1~i要凑成j的总个数,对于所有的子问题都可以这样表示。2、状态转移方程dp[i][j]得出来的数是由上一步dp[i-1][j]+dp[3][j-i],得出来的。此方程适应这题的所有数据。3、注意边界问题。1、2、3对于0分都可以凑成1个。4、计算顺序。从前往后推。#include<bits/stdc++.h>using namespace std;const int inf = 0x7f7f7
2020-05-22 14:56:27 411
原创 55. 跳跃游戏
题目: 跳跃游戏题解:1、确定状态。假设第i为倒数倒数第二个,下一个就是直接跳n-1,并且所有的子问题都是这样。对于第i个假如能达到n-1,那么应该满足n-1-i<=a[i],2、转移方程。上面方程已经得出来了,要求满足a[i]也能到达并且n-1-i<=a[i],那么就可以到达n。3、初始条件和边界情况。对于这题边界不存在负数情况,所以不需要考虑。4、计算顺序。如果从后往前,但是前面的答案没有的出来,所以不可能。顺序应该是从前往后。class Solution { publi
2020-05-21 23:02:37 168
原创 零钱兑换
题目:零钱兑换基础DP,解决DP问题分为四个步骤。1、确定状态。要明白dp[i]或者dp[i][j]代表什么含义,本题的dp[i]表示到达i元所需要的最小数量货币的个数。确定状态需要有两个意识:最后一步、子问题。假设最后一枚硬币是c,倒数第二枚硬币为c1,那么求的dp[n] = min(dp[n-c]+1),c的值可能有多步,对于子问题dp[n-c] = min(dp[n-c-c1]+1)。2、转移方程由第一部的分析已经算出方程了,dp[n] = min(dp[n-c]+1)3、初始条件和边界情况
2020-05-21 21:43:01 150
原创 生日蛋糕
题目:生日蛋糕题解:从小往上搜索s:表示当前的表面积;v:表示当前的体积。1、对于其中一个dfs,如果当前的s大于最小的ans,则可以返回2、对于其中一个dfs,如果当前的v大于n,则也可以提前返回3、假设在第u层,此时的体积为v,表面积是s。那么就还剩n-v的体积可以使用,因为下一层的半径、高都要比这层高,所以r为min(sqrt(n-v),下一层的半径-1),h为min((u-v)/r/r,下一层的高-1),对于第u层r、h能取到的最小值都为u。4、这是一个比较难想到的。假设此时位于第u层
2020-05-20 23:45:40 373
原创 简单瞎搞题
题目:简单瞎搞题题解:这题用bitset+dp优化。dp[i],表示在第i段的时候,此时要多少个满足题目的解。/*┏┓ ┏┓*┏┛┻━━━┛┻┓*┃ ┃ *┃ ━ ┃*┃ ┳┛ ┗┳ ┃*┃ ┃*┃ ┻ ┃*┃ ┃*┗━┓ ┏━┛* ┃ ┃神兽保佑* ┃ ┃代码无BUG!* ┃ ┗━━━┓...
2020-05-06 16:32:37 256
原创 D. Phoenix and Science
题目:D. Phoenix and Science题解:打表找规律的。找了半天,还是看的别人代码。这要还是看最后留下了几个细菌。。/*┏┓ ┏┓*┏┛┻━━━┛┻┓*┃ ┃ *┃ ━ ┃*┃ ┳┛ ┗┳ ┃*┃ ┃*┃ ┻ ┃*┃ ┃*┗━┓ ┏━┛* ┃ ┃神兽保佑* ┃ ┃代码无BUG!* ...
2020-05-04 23:13:31 419
原创 智乃与无意义的题目
题目:智乃与无意义的题目题解::开四个线段树。今晚忘记有比赛了/*┏┓ ┏┓*┏┛┻━━━┛┻┓*┃ ┃ *┃ ━ ┃*┃ ┳┛ ┗┳ ┃*┃ ┃*┃ ┻ ┃*┃ ┃*┗━┓ ┏━┛* ┃ ┃神兽保佑* ┃ ┃代码无BUG!* ┃ ┗━━━┓* ┃ ┣┓* ┃ ...
2020-05-02 16:03:29 257
原创 POJ1845:Sumdiv
题目:Sumdiv题解:先用质因子分解A = p1a1 p2a2 p3a3…pnan (p1,p2,p3…为质数)AB = p1a1B p2a2B p3a3B…pnanB (p1,p2,p3…为质数)所求的就是(p10+…+p1a1B)(p20+…+p2a2B),所以这个就需要用到等比数列求和公式了这时候需要对(1-q)求逆元,但不能保证它们互质,所以不能单纯的使用扩展...
2020-05-01 21:43:20 291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人