自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LGR-073】洛谷 7 月月赛 Div.2 B 混凝土数学

题目描述: 点击这里思路:对于30%pts(n≤200),30\%pts(n≤200),30%pts(n≤200), 暴力枚举即可,时间复杂度O(n3)O(n^3)O(n3)。对于另外20%pts(20\%pts(20%pts(木棍长度全部相等),),), 考虑用数学思想,即Cn3C^3_{n}Cn3​。正解: 1. 利用桶排序,将每个数出现的次数统计出来。2.进行分段讨论,在它前面的所有数一组,后面的所有数一组,它自己一组,分别累计和,并且用前缀和优化。代码:#include <b

2020-07-25 19:13:45 255

原创 P2671 求和

题目描述:这里思路:数学推导:ans=∑i=1nScorei​ans = \sum_{i = 1}^n Score_i​ans=∑i=1n​Scorei​​,由此,复杂度为O(n)O(n)O(n)暴力+排序:对数组进行排序,使得复杂度降低,再进行穷举,复杂度O(n2)O(n^2)O(n2)。再进行O2O2O2优化。代码:#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace std;template &l

2020-07-19 17:20:52 149

原创 P2658 汽车拉力比赛

题目描述思路:其实这一题说难不难,说简单也并不简单。关键是先用二分求期望值,再将期望值用bfsbfsbfs进行判断。特别要注意的是,在bfsbfsbfs时,要注意判断路标的个数。代码:#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace std;template < typename T > void read(T &x){ int f = 1;x = 0;char c = getc

2020-06-01 20:42:31 285

原创 [SCOI2009]粉刷匠

题目链接:这里思路:我们可以先求出每块木板分t次,每次的最大值,进而转化为机器分配问题。代码:#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace std;template < typename T > void read(T &x){ int f = 1;x = 0;cha...

2020-03-24 17:17:52 330

原创 计蒜客信息学 3 月普及组模拟赛 T3箱子

思路:题解上是用动态规划来做的。这里我来分享一下一种不一样的思路。我们可以把一种可以翻转的箱子拆分成三种不可翻转的形态。然后,我们定义 aaa包含bbb 表示bbb能放在aaa上。若 aaa包含bbb,就从aaa引一条箭头指向bbb。最终,形成一张有向无环图。最后,只要将该图记忆化搜索即可。代码:#include <bits/stdc++.h>#pragma GCC ...

2020-03-15 11:52:42 177

原创 蒜头君闯关

思路:这道题一看就是道动规。再看数据范围肯定是O(n2)O(n^2)O(n2)的做法。所以我们用类似于LISLISLIS的做法来做这道题。我们观察可以发现,我们所处的节点就是前面任意一个符合要求的节点跳转过来的。所以,转移方程为:f[i]=max(a[i]+f[j],f[i])f[i] = max(a[i] + f[j], f[i])f[i]=max(a[i]+f[j],f[i])在此之前,...

2020-03-03 17:13:45 231

原创 一维消消乐

这道题我做了以后,颇有感触。这道题需要222个数组来存储第iii个数是否和第i−1i-1i−1个数消除。(dp[i][0]dp[i][0]dp[i][0]是不消除,dp[i][1]dp[i][1]dp[i][1]表示消除第iii和第i−1i - 1i−1个数)所以,转移方程为:dp[i][0]=max(dp[i−1][0],dp[i−1][1])dp[i][0] = max(dp[i - 1]...

2020-03-01 15:55:00 1137

原创 P5380 [THUPC2019]鸭棋

题目描述:

2020-02-23 18:20:11 243

原创 P6101 [EER2]出言不逊

题目描述:传送门思路:本题其实是一道数学题。事实上,我们可以列出一个方程:2x×maxn+∣S∣−1=len 2^x \times maxn + |S| - 1 = len2x×maxn+∣S∣−1=len∣S∣就是字符串S的长度,maxn为出现次数|S|就是字符串S的长度,maxn为出现次数∣S∣就是字符串S的长度,maxn为出现次数得:现已知len,∣S∣,求x得:现已知len...

2020-02-22 13:25:12 212

原创 P1514 引水入城

题目描述:传送门思路:第一问暴力即可(我用的是深搜, 也可用广搜),对于第二问,我们要用类似于线段覆盖的方法来做(dp/贪心)。为了防卡常,我们要对深搜进行优化。代码如下:#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace std;template < typename T > vo...

2020-02-20 15:32:26 235

原创 P1080 国王游戏

题目描述:传送门思路:本题一看就是贪心。我们设参考值s = 左手的数 * 右手的数;最后只要对s进行排序即可。最后,别忘了写高精。代码如下:#include<bits/stdc++.h>using namespace std;struct node{ int left, right; long long num;}per[1005];template &...

2020-02-19 15:08:35 164

原创 P1037 产生数

题目:传送门思路通过观察可得,这个数的产生方案数 = 每个数的方案数相乘。(a产生 b,b 产生c = a产生c)如图所示:ABC但要判别是否形成环。否则,就会形成死循环。反例如下:ABC最后,要注意答案可能很大,需要用高精。代码如下:#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace s...

2020-02-16 14:51:13 206

原创 P3958 奶酪

题目描述:传送门思路:首先,我考虑用深搜来做这道题,vis数组用map(映射表)。但由于我用的是结构体,所以重载了运算符。但可惜超时。于是,我选用BFS来做这道题,但要注意:n = 1时,有特殊情况,需要特判。废话不多说,附上代码(代码有点多 )#include <bits/stdc++.h>using namespace std;template < typen...

2020-02-12 15:02:32 207

原创 P1201 [USACO1.1]贪婪的送礼者

题目:传送门**思路:**模拟即可(我用的是map),但注意当gi = 0时,直接跳过循环。用ans数组来保存开始的顺序。代码://无锡市金桥初中 费思量#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace std;template < typename T > void read(T ...

2020-02-08 14:45:17 150

原创 P1582 倒水

题目:传送门思路:(类似于贪心的算法 )在n中找出一个最大的2的次方数,接着在剩余部分接着找……,找(k-1)次。剩余部分看代码:#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace std;template < typename T > void read(T &x){ in...

2020-02-07 20:54:16 96

原创 P1403 [AHOI2005]约数研究

题目描述科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能。由于在去年一年的辛苦工作取得了不错的成绩,小联被允许用“Samuel II”进行数学研究。小联最近在研究和约数有关的问题,他统计每个正数N的约数的个数,并以f(N)来表示。例如12的约数有1、2、3、4、6、12。因此f(12)=6。下表给出了一些f(N)的取...

2020-01-15 18:58:46 97

原创 P1017 进制转换

题目描述我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 10为底数的幂之和的形式。与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 2为底数的幂之和的形式。一般说来,任何一个正整数 R或一个负整数 −R都可以被选来作为一个数制系统的基数。如果是以 R或 −R为基数,则需要用到的数码为 0,1,…R−1。例如...

2020-01-15 18:30:56 187

原创 P1118 [USACO06FEB]数字三角形

题目描述FJ and his cows enjoy playing a mental game. They write down the numbers from 1 toN(1≤N≤10) in a certain order and then sum adjacent numbers to produce a new list with one fewer number. They repe...

2020-01-15 14:13:09 97

原创 P1433 吃奶酪

题目描述房间里放着 n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0) 点处。输入格式第一行一个正整数 n。接下来每行 2个实数,表示第i块奶酪的坐标。两点之间的距离公式为传送门输出格式一个数,表示要跑的最少距离,保留 2 位小数。思路这道题比较简单只要用剪枝就可以完成。但是剪枝不要剪错。#include <bits/stdc++.h&gt...

2020-01-05 17:28:00 244 3

原创 P1434 [SHOI2002]滑雪

题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 2...

2020-01-05 16:48:02 281

原创 计蒜客信息学普及组赛前模拟6 硬币

题目描述小 B 面前的桌子上有 n 个硬币,0 表示正面,1 表示反面,只有当这 n 个硬币都是 0 朝上的时候这个他才能把这些钱收起来。现在他可以一个这样的操作来翻硬币,他选择一个 x,把 1 到 x 位置上的硬币都翻面,他现在想知道最少需要多少次操作能使所有硬币正面朝上。输入格式第一行一个整数表示 n第二行一个长度为 n 的字符串 s,其中 s 的第 i个字符 si表示硬币 i 的状态...

2020-01-01 19:28:27 477

原创 P1126 机器人搬重物 题解

题目描述机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径1.6米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个 N×M 的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方。机器人接受的指令有:向前移动1步(Creep);向前移动2步(Walk);向前移动3 步(Run);向左转(Left)...

2019-12-22 15:56:15 354 1

原创 P1101 单词方阵(深度优先搜索 )

#include <bits/stdc++.h>using namespace std;char ans[105][105];char chan[105][105];/这道题要求用深搜,但其实用枚举也能过,下面是枚举代码。就是判断烦了点。通过枚举可行字符,进行双向判断(注意是两个方向。)在进行复制粘贴的时候,特别要注意,因为,如果不改的话肯定会错。(良心提示:读入不用g...

2019-12-04 20:44:55 169 1

空空如也

空空如也

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

TA关注的人

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