洛谷p2676超级书架题解(代码片段)

yzx1798106406 yzx1798106406     2022-11-12     645

关键词:

题目传送门

题目一看就是贪心。C++福利来了:sort。

基本思路就是:要使奶牛最少那么肯定高的奶牛先啦。

直接排序一遍(从高到矮)然后while,搞定!

#include<bits/stdc++.h>
#define ll long long 
using namespace std;
ll N,B,H[20010];
bool cmp(int x,int y)return x>y;
int main()
    scanf("%lld%lld",&N,&B);
    for(int i=1;i<=N;i++) scanf("%lld",&H[i]);
    sort(H+1,H+1+N,cmp);
    int ans=1,sum=H[1];
    while(sum<B)
        ans++;
        sum+=H[ans]; 
    
    printf("%lld\n",ans);
    return 0;

洛谷p2676超级书架

题目描述FarmerJohn最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有N(1<=N<=20,000)头奶牛都有一个确定的身高H_i(1<=H... 查看详情

洛谷p2676超级书架

题目描述FarmerJohn最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有N(1<=N<=20,000)头奶牛都有一个确定的身高H_i(1<=H... 查看详情

洛谷p2676超级书架

题目描述FarmerJohn最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有N(1<=N<=20,000)头奶牛都有一个确定的身高H_i(1<=H... 查看详情

洛谷p2677超级书架2

P2677超级书架2题目描述FarmerJohn最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有N(1<=N<=20)头奶牛都有一个确定的身... 查看详情

洛谷p2677超级书架2

题目描述FarmerJohn最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有N(1<=N<=20)头奶牛都有一个确定的身高H_i(1<=Hi<... 查看详情

洛谷p2596[zjoi2006]书架splay(代码片段)

题目描述小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸... 查看详情

洛谷3768:简单的数学题——题解(代码片段)

https://www.luogu.org/problemnew/show/P3768题面来自洛谷,因为没用markdown所以直接截的图。剩余的图是我用markdown写完然后截的图。参考洛谷第一篇题解。这个式子直观感受就需要莫比乌斯反演,大致的过程参考:BZOJ2693:jzptab那么跳过... 查看详情

题解洛谷p1975排序(代码片段)

分块,注意重复的值之间的处理。跟普通分块的操作一样的啦,具体可以参见‘不勤劳的图书管理员’。#include<bits/stdc++.h>usingnamespacestd;#definemaxn500000#definelowbit(i)i&(-i)#defineintlonglongintn,m,cnt,ans,B,c[200][maxn];structnodeintnu 查看详情

bzoj1861:[zjoi2006]书架——题解

http://www.lydsy.com/JudgeOnline/problem.php?id=1861(题面复制于洛谷)题目描述小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。小T在看书的时候,每次取出一... 查看详情

洛谷p1568赛跑题解(代码片段)

题目传送门这道题非常的水,只要你能搞清楚题意,将SH、KC不要混起来即可(所以我使用了结构体)#include<bits/stdc++.h>usingnamespacestd;intn,m,T,ans;intnow=-1;structnodeinta[1010],b[1010];intp;intN;SH,KC;intmain()scanf("%d%d",&n,&m 查看详情

洛谷p2369exceededwarninga题解(代码片段)

题目传送门直接用sort排序最后输出即可。但是数组要使用shortint类型。否则会超内存。#include<bits/stdc++.h>usingnamespacestd;intn,m;shortinta[1000010];intmain()scanf("%d%d",&n,&m);for(inti=1;i<=n;i++)scanf("%d",&a[i] 查看详情

洛谷p2036perket题解(代码片段)

题目传送门这道题可以使用dfs深搜实现,在每次递归深搜时要更新ans。#include<bits/stdc++.h>usingnamespacestd;intn,ans=2147483647,s=1,b;boolflag[15];structnodeints,b;a[15];voiddfs(intk)if(k==n)ans=min(ans,abs(s-b));for(inti=1 查看详情

洛谷p2708硬币翻转题解(代码片段)

题目传送门真如题面所说,难度系数:☆☆☆☆☆(如果你看懂了)。从后往前扫一次,如果a[i]==0&&a[i-1]==1那么将ans+2。注意最后不要忘记开头if(a[0]==‘0‘)ans++;#include<bits/stdc++.h>usingnamespacestd;chara[300];intans;intmain()cin>... 查看详情

洛谷p1469找筷子题解(代码片段)

题目传送门先排序一遍,再一个一个判断是否有偶数个。注意for循环要i+=2。#include<bits/stdc++.h>usingnamespacestd;intn,a[10000010];intmain()scanf("%d",&n);for(inti=1;i<=n;i++)scanf("%d",&a[i]);sort(a+1,a+n+1);for(inti 查看详情

洛谷4238:模板多项式求逆——题解(代码片段)

https://www.luogu.org/problemnew/show/P4238如题所示,对998244353取模。板子没啥好说的。讲解看这位大佬:http://blog.miskcoo.com/2015/05/polynomial-inverse#include<cstdio>#include<cctype>#include<cstring>#inclu 查看详情

洛谷p1957口算练习题题解(代码片段)

题目传送门这道题是考字符串处理,另外输入要使用c++的cin的神奇功能。#include<bits/stdc++.h>usingnamespacestd;intn;charch;inta,b;chark;stringINTtoSTRING(intx)ostringstreamoss;oss<<x;returnoss.str();intmain()scanf("%d", 查看详情

粟粟的书架题解(代码片段)

粟粟的书架题解第一次见到这种二合一的题,开始的时候居然死磕二维主席树,又是屈辱看题解系列,其实很比较好做第一部分(R,C≤200,M≤200000,1≤Pi,j≤1,000)这一部分可以用两个数组来记录:(num[i][j][k]):代表1~i,1~j的矩形中小于... 查看详情

洛谷p2077红绿灯题解(代码片段)

题目传送门这道题一秒一秒的扫描一定会超时,所以就用一种O(N)的算法。#include<bits/stdc++.h>usingnamespacestd;intn,m,a[100001],b[100001],c[100001],x=0,k;intmain()scanf("%d%d",&n,&m);for(inti=1;i<n;i++)scanf("%d",& 查看详情