自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷P2955 Even? Odd? G

题目传送门注意到这个范围了吗→ (1 ≤ l ≤ 10^60 ),用long long明显炸掉,这里就可以用字符串处理。判断奇偶,只需判断每个数字最后一位的奇偶性即可。AC Code :#include<bits/stdc++.h>using namespace std;char a[100000010];int main(){ int n; cin>>n; for(int i=0;i<n;i++){ scanf("%s",a); if(a[

2020-10-24 17:41:06 144

原创 洛谷P1923 求第k小的数

题目传送门又到了STL大显神威的时刻在C++神奇 的STL库中,有一个 nth_element 函数,通过调用nth_element函数,可以使第k大元素处于第k位置(从0开始,其位置是下标为 k的元素),并且比这个元素小的元素都排在这个元素之前,比这个元素大的元素都排在这个元素之后(不一定有序)调用方法:nth_element(数组名,数组名+第k小元素,数组名+元素个数)AC Code :#include<bits/stdc++.h>using namespace std;i

2020-09-01 13:15:20 382

原创 洛谷P1271 选举学生会

题目传送门分析看到有个n,明显出题人想要你用桶排。但是,这道题的数据太水了,用sort直接水过去了……(n其实是没用的)Method 1 :sort排序#include<bits/stdc++.h>using namespace std;int a[2000010];int main(){ int n,m; cin>>n>>m; for(int i=1;i<=m;i++) cin>>a[i]; sort(a+1,a+m+1)

2020-08-30 15:46:30 1083

原创 洛谷P3954 成绩

本蒟蒻刚刚心血来潮,来发一道入门题解(是因为太水了)题目传送门大水题直接按照题目要求输入输出就行了。。。(注意要用double)AC Code :#include<bits/stdc++.h>using namespace std;int main(){ double a,b,c; cin>>a>>b>>c; cout<<a*0.2+b*0.3+c*0.5; return 0;}着实短小精悍跑的也快...

2020-08-29 21:40:32 272

原创 洛谷P1012 拼数

题目传送门分析读完题后很容易想到把n个数当成字符串处理,然后以两个数字串连接后的大小来决定两个数字串的先后顺序。也就是如果a+b>b+a,就将a排在前面,反之同理,按照这样处理完后输出即可。※一定不能从大到小排序之后直接输出!比如321和32,正确答案为32321,但是按直接比较就是32132Method 1 : char数组用char数组做需要用到3个字符串函数(仅限char)strcpy(x,y) —— 将y数组的值赋给x数组strcat(x,y) —— 拼接x和ystrc

2020-08-27 23:06:47 102

原创 洛谷P1873 砍树

题目传送门分析根据题意,如果砍树的高度是一行树中最高一棵的高度,则砍下的木材长度为0.而如果砍树的高度为零,则将砍下所有的树木,由题意可知,这个值一定大于M。那么,如果提高砍树的高度h,h“单调”上升时,砍下的木材数量“单调”下降。这样,当h上升到某个确定的高度时,砍下的木材数量将少于需要的值M,此时的高度h减1的位置就是所求答案。So,我们很轻易的 得出这是一道二分答案的题。在[l,r]区间线性扫描N棵树,二分区间左端点l设为0,右端点r设为最高一棵树的高度,区间中点mid=(l+r)/2,计算出砍

2020-08-26 00:24:10 273

原创 洛谷P1706 全排列问题

题目传送门大水题…STL大法好众所周知 ,在C++的algorithm库中,有一个神奇的函数,叫做next_permutation,可产生1~n的全排列,并且next_permutation()是按照字典序产生排列的,是从数组中当前的字典序开始依次增大直至到最大字典序。So,短小精悍的代码AC Code :#include<bits/stdc++.h>using namespace std;int main(){ int n,i,a[10]; cin>>n; f

2020-08-24 20:38:01 198

原创 时间复杂度的计算

执行次数函数举例 阶 非正式术语12 O(1) 常数阶2n+3 O(n) 线性阶3n2+2n+1 O(n2) 平方阶5log2n+20 O(logn) 对数阶2n+3nlog2n+19 O(nlogn) nlogn阶6n3+2n2+3n+4 O(n3) 立方阶2n O(2n) 指数阶

2020-08-23 22:24:36 650

原创 洛谷P1106 删数问题

题目传送门分析挺简单的一道贪心题(其实我第一次交WA了3个点 )很明显,每一次删除的不是最大的s个数字,反例太多了那么,规律是什么呢?举个例子:n=178543,s=4178543 //删去817543 //删去71543 //删去5143 //删去413 //解为13根据上表,这道题的贪心策略就显而易见了:每一步总是选择一

2020-08-22 16:24:10 258 1

原创 洛谷P1091 合唱队形

题目传送门这是一道练习DP的无聊 经典题目分析读完题目,很明显,最后的合唱队形是一个递增序列加上一个递减序列。那么,我们可以先枚举中间最高的那个人,接着对他的左边求最长上升序列,对右边求最长下降序列,总的时间复杂度为O(n³),比较危险 。如何节省时间呢?只需要先求好最长上升DP1[1…n]和最长下降DP2[1…n],然后再枚举中间最高的那个同学,每一种合唱队形的长度为DP1[i]+DP2[i]-1,打擂台取最大值ans那么答案就为n-ans。这样做的时间复杂度为O(n²)。相信dalao看完分析就

2020-08-22 14:29:10 115

原创 洛谷P1048 采药

题目传送门0-1背包模板,水题一道先解释一下0-1背包0-1背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2至Wn,与之相对应的价值为P1,P2至Pn。0-1背包是背包问题中最简单的问题。01背包的约束条件是给定几种物品,每种物品有且只有一个,并且有权值和体积两个属性。在0-1背包问题中,因为每种物品只有一个,对于每个物品只需要考虑选与不选两种情况。如果不选择将其放入背包中,则不需要处理。如果选择将其放入背包中,由于不清楚之前放入的物品占据了多大的空间,需要枚举将这个物品放

2020-08-22 13:15:19 106

原创 洛谷P1219 八皇后 Checker Challenge

DFS的一道水题这道题主要考察的就是回溯,搜索,标记(废话 )这里用四个数组来存行,列,左斜线,右斜线,不理解的话手画一个树状图也是可以的AC Code:

2020-08-22 12:32:33 105

空空如也

空空如也

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

TA关注的人

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