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

jelly123 jelly123     2023-03-09     258

关键词:

这题真是水
咳咳。。
基本思路:桶排
但是可以剪枝。


剪枝方法:

好几种,可以用set(集合),可以用stack(栈)
也可以像我一样的蒟蒻最大最小值......
但是作者的毒瘤数据应该不会放过我们的...


AC code奉上

#include <iostream>
#include <cstdio>
using namespace std;
int bfs(int bottle[],int max_,int min_)

    for (int i=min_;i<=max_;i++)
    if (bottle[i]%2==1)return i;

//基本思路:桶排 
//剪枝优化方式:最大最小值 
int main()

    int n,max_=0,min_=10000010;
    static int bottle[10000001];
    //方便的是,静态数组默认为0 
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
    
        int temp;scanf("%d",&temp);
        bottle[temp]++;
        max_=max_>temp?max_:temp;
        min_=min_<temp?min_:temp;
    
    int num=bfs(bottle,max_,min_);
    printf("%d",num);
    return 0;

集合的思想就是去重
查找的时候只需要一个个抽元素出来找就行。
可以大大减少查找次数。
话说快排真的有必要吗









洛谷——p1469找筷子

P1469找筷子题目描述经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子... 查看详情

洛谷p1469找筷子

...准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是CX找出来的这些筷子数量为奇数,... 查看详情

题解报告:hdu1564playagame(找规律博弈)(代码片段)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1564ProblemDescriptionNewYearisComing! ailyanluisveryhappytoday!andheisplayingachessboardgamewith8600.Thesizeofthechessboardisn*n.Astoneisplacedinac 查看详情

哲学家就餐问题(代码片段)

...问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条。哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿到两只筷子才能吃饭。上述问题会产生死锁的情况,当5个哲学家都拿起自己右手边... 查看详情

luogup3901数列找不同题解(代码片段)

对于区间查询的问题,提供一种思路:莫队。莫队是处理区间问题的乱搞神器,尤其是对于离线查询问题,当然也可以做在线查询,比如带修莫队。对于有的题,莫队是乱搞骗分,而在某些地方,莫队是正解。这道题来说,可以... 查看详情

[fjoi2007]轮状病毒题解(dp(找规律)+高精度)(代码片段)

[FJOI2007]轮状病毒题解(dp(找规律)+高精度)没什么好说的,直接把规律找出来,有两种规律(据说还有多种dp),再套个高精度(First)(f[1]=1,f[2]=5,f[i]=3×f[i-1]-f[i-2]+2)就直接写个高精+低精和高精×低精和高精-高精就行了(Second)(f[1]=1,f[2]=... 查看详情

bzoj4566:[haoi2016]找相同字符——题解(代码片段)

https://www.lydsy.com/JudgeOnline/problem.php?id=4566https://www.luogu.org/problemnew/show/P3181给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。广义后缀自动... 查看详情

题解luogup3901数列找不同(代码片段)

原题传送门不错的莫队练手题块数就直接取sqrt(n)对所有询问进行排序排序第一关键词:l所在第几块,第二关键词:r的位置考虑Ai不大,暴力开数组add时如果加之后的数量是1总数就加1del时如果减之后的数量是0总数就减1每次... 查看详情

多线程面试题——哲学家就餐问题(java)(代码片段)

...成同学在coding文章如有问题欢迎指正5名哲学家,5根筷子,哲学家左右两边的筷子跟身边的人共享,只有同时拿起左手的筷子和右手的筷子,哲学家才可以夹菜。这个问题其实是一个死锁问题。当0号拿着a筷子的时... 查看详情

zznuoj_用c语言编写程序实现1516:去师院的旅程:吃早饭先(附完整源码)(代码片段)

...跟小伙伴一起去吃早饭。 刚到食堂豆子想帮小伙伴拿筷子,于是他拿了2n+2(n是小伙伴数量)根筷子,他给伙伴的筷子都是对齐的(筷子分为大头小头,两根筷子的大头和小头都在一起叫对齐的筷子),发完筷子后发现自己的... 查看详情

一码学程10284排队找bug题解单调队列或者线段树rmq(代码片段)

注:只是看到题目,未评测,所以不确定代码正确性,但是算法思路没有问题描述同学们的bug还真是多啊,orz...春节期间大家存下的bug都来找肖老师解决了。每个人都有bug,但是肖老师却只有一个啊。怎么办?所以肖老师让大家... 查看详情

蓝桥杯历届试题-翻硬币:看似bfs,实则找规律贪心(代码片段)

文章目录题目题目解析题解题解一:优化的双向bfs(可惜还是过不了,当作bfs复习了)题解二:真正的此题题解(能0ms过所有题目oj平台题目解析很快能有bfs思路,但是提交后会发现,无论怎么优化bfs都只能过一个,... 查看详情

题解p5718深基4.例2找最小值(代码片段)

题目传送门思路介绍一种新方法——sort排序,它的格式是这样的sort(a+1,a+n+1,cmp);,我们只需要把a数组排好序,然后输出第(1)个元素即可。定义a数组与变量(n)并输入。inta[1000000];intn;cin>>n;for(inti=1;i<=n;i++)cin>>a[i];使用sort... 查看详情

<题解;幻想乡战略游戏(代码片段)

洛谷题目看到题面,很容易就想到,这是要你找树上的重心,只不过这个重心是在带边权的树上所以对于这个我们在树上找这个重心一开始我想的是,我要更新权值,然后把每个点的答案更新一下就取最大值,这好像是O(....),... 查看详情

进程调度模拟——哲学家进餐问题(代码片段)

...、进餐问题一个圆桌上有一大碗面,5个盘子,5把筷子,5个座位上可以座5个哲学家,当哲学家就坐以后,其左右有且仅有一个筷子,每个筷子左又有且仅有一个哲学家。哲学家动作:思考,取筷... 查看详情

牛客白月赛29题解(代码片段)

https://ac.nowcoder.com/acm/contest/8564目录进攻【贪心+二分】二进制【位运算思维】积木【构造】种树【贪心】考试项链【双链表模拟】涂色圆【圆的相切】修改【思维构造最小生成树】克隆【欧拉序列】进攻【贪心+二分】前缀... 查看详情

xxelab:1题解(代码片段)

思路题目已经提示是XXE的专项练习,所以,直接找XXE问题.难度入门端口扫描nmap-sS-A10.129.10.64发现HTTP服务、Apache2.4.27中间件、robots.txt泄漏了目录和文件80端口检查其中,/xxe/index.php页面通过xml格式提交用户名和密码,于是,此处... 查看详情

操作系统第6次实验报告:使用信号量解决进程互斥访问(代码片段)

...,分别坐在周围的五张椅子上,在圆桌上有五个碗和五支筷子,平时哲学家进行思考,饥饿时便试图取其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐,该哲学家进餐完毕后,放下左右两只筷子又继续思考。约束条... 查看详情