acm刷题记录 (2020.4.2)

2020年大学生编程比赛---ACM、蓝桥杯、天梯赛 文章目录前言一、陕西省第八届大学生程序设计大赛ACM比赛题目竞赛流程安排比赛心路历程比赛总结二、第十一届蓝桥杯编程大赛比赛题目比赛历程比赛总结三、团队程序设计天梯赛--2020年11月28日比赛题目比赛历程比赛总结总结 前言 在大三的上半年我参加了三个编程比赛,分别是: 2020年陕西省第八届大学生程序设计大赛ACM 第十一届蓝桥杯编程大赛 团队程序设计天梯赛 下面是我为大家总结的参赛经验,希望对大家有所帮助 提示:以下是本篇文章正文内容,目录是按照参赛时间顺序 一、陕西省第八届大学生程序设计大赛A 阅读详情

leetcode 15
三数之和

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例:

给定数组 nums = [-1, 0, 1, 2, -1, -4],

满足要求的三元组集合为:
[
[-1, 0, 1],
[-1, -1, 2]
]

此题和之前做过的一样,动用指针的思路。
值得分析的问题有两个:
1.对于有序数组,三数之和>0,则其中数字应该增大还是减小?
三数之和<0,则其中数字应该增大还是减小?

显然当三数之和>0,数应该减小。
三数之和<0,数应该增大。

所以可以采用指针,固定开头r遍历一遍,在剩余的数组里定义左指针t为开头,右指针l为结尾。
当三数之和>0,数应该减小,所以l–;
当三数之和<0,数应该增加,所以t++;
当t>=l时,r++;

2.无重复的集合。
一开始我选择使用set来解决,但是后来发现只要规避掉重复的数据就可以了。
当指针移动时,如果数据重复则继续移动。
对于[0,0,0]问题
由于指针一开始就分开,则必然遍历过如此情况。

code:

class Solution {
    public List<List<Integer>> threeSum(int[] nums) {
        //指针法
        List<List<Integer>> list=new LinkedList<List<Integer>>();
        if(nums.length<3) return list;
        Arrays.sort(nums);
        int r=0;
        int t=1;
        int l=nums.length-1;
        while(t<=nums.length-1)
        {
            if(r>nums.length-3) break;
            int p=nums[r]+nums[t]+nums[l];
            if(p==0)
            {
                List<Integer> al=new ArrayList<Integer>();
                al.add(nums[r]);
                al.add(nums[t]);
                al.add(nums[l]);
                list.add(al);
                while(l>t&&nums[l]==nums[--l]);
                while(l>t&&nums[t]==nums[++t]);
            }
            else if(p>0)
            {
                while(l>t&&nums[l]==nums[--l]);
            }
            else if(p<0)
            {
                while(l>t&&nums[t]==nums[++t]);
            }
            if(t>=l)
            {
                while(r<=nums.length-3&&nums[r]==nums[++r]);
                t=r+1;
                l=nums.length-1;
            }
        }
        return list;
    }
}

执行用时 :34 ms, 在所有 Java 提交中击败了58.39%的用户
内存消耗 :44.5 MB, 在所有 Java 提交中击败了98.17%的用户

leetcode 16
最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.

与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).

这道题和上面一道思路相同,不多赘述。

code:

class Solution {
    public int threeSumClosest(int[] nums, int target) {
        if(nums.length<3) return 0;
        Arrays.sort(nums);
        int r=0;
        int t=1;
        int l=nums.length-1;
        int tar=100000;
        while(true)
        {
            if(r>nums.length-3) break;
            int p=nums[r]+nums[t]+nums[l];
            if(Math.abs(target-p)<Math.abs(tar))  tar=target-p;
            if(p==target) return target;
            else if(p<target)
            {
                while(l-1>t&&nums[t]==nums[++t]);
            }
            else if(p>target)
            {
                while(l-1>t&&nums[l]==nums[--l]);
            }
            if(t==l-1)
            {
                p=nums[r]+nums[t]+nums[l];
                if(Math.abs(target-p)<Math.abs(tar))  tar=target-p;
                while(r<=nums.length-3&&nums[r]==nums[++r]);
                t=r+1;
                l=nums.length-1;;
            }
        }
        return target-tar;
    }
}

执行用时 :7 ms, 在所有 Java 提交中击败了55.62%的用户
内存消耗 :39.2 MB, 在所有 Java 提交中击败了5.25%
的用户

2020浙江省ACM省赛A题 2020 ACM浙江省省赛A 题其他题待补 很简单先打表,然后输出就可注意第一天如果是包含202则需特殊处理 #include<iostream> using namespace std; int year1,m1,d1,year2,m2,d2; long long a[10000][13][32]; int yf(int x,int y){ if(y==2){ if((x%4==0 && x%100!=0)||(x%400==0) 阅读详情

相关推荐

嵌入式C开发必备:用Cursor规则搞定代码风格检查(附Pikachu项目实战)

本文以Pikachu开源项目为例,详细介绍了如何利用Cursor的AI代理规则系统,为嵌入式C开发项目配置一套完整的代码风格检查与规范执行方案。通过实战演示,指导开发者创建项目级规则,实现命名、格式、硬件抽象层及驱动开发的自动化规范,从而提升代码一致性、可维护性和团队协作效率。

weixin_29181861的博客 597

2013 ACM/ICPC Asia Regional Changchun Online Problem J & hdu4768 Flyer(二分)

题目请戳这里 题目大意:给n个三元组(ai,bi,ci),那么对于y = ci*x + ai(ai = 0),求所有三元组产生的y中,出现次数为奇数的数以及出现次数。数据保证最多存在一个数出现奇数次。如果没有数出现奇数次,输出一句话。 题目分析:从出现奇数次作为突破口。首先对于某个三元组(ai,bi,ci),yi = ci * x + ai,yi 这个数可能很大,给每个整数开个计算器显然不

ophunter的专栏 1126

EPLAN Electric P8 2025安装避坑指南:硬件、.NET 6与VM配置全解析

EPLAN Electric P8 是面向工业自动化电气设计的工程级CAD平台,其核心依赖于.NET运行时、DirectX硬件加速与本地许可证验证机制。随着2025版升级至.NET 6.0 Runtime、DirectX 12渲染引擎及双模授权校验,安装失败率显著上升——尤其在显卡驱动陈旧、虚拟机环境或企业离线场景下。技术价值在于保障PLC柜体布局、端子排自动生成、电缆清册输出等产线级功能稳定运行;典型应用场景包括高校电赛控制系统设计、包装线电控图纸交付及集成商多版本协同部署。本文聚焦EPLAN 2025安

weixin_30897079的博客 549

蓝桥:递增三元组

递增三元组 给定三个整数数组A = [A1, A2, ... AN],B = [B1, B2, ... BN],C = [C1, C2, ... CN],请你统计有多少个三元组(i, j, k) 满足:1. 1 <= i, j, k <= N2. Ai < Bj < Ck 【输入格式】第一行包含一个整数N。第二行包含N个整数A1, A2, ... AN。第...

~ 508

YOLOv10改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤

本文记录的是。采用深度可分离卷积将标准卷积分解为深度卷积和1×1卷积。同时,引入来,避免非线性层导致的性能下降问题。本文将应用到YOLOv10中,借助其高效的结构和特性,在保持一定精度的前提下,显著降低YOLOv10的计算复杂度和内存占用。

Limiiiing的博客 532

k8s 不同node之间pod ip不通

底层k8s使用calico网络,ipip网络模式,kubevirt启动了2台虚拟机;在这两台虚拟机上再搭建k8s,calico网络,ipip网络模式。说明:我是使用helm安装的calico,改这个模式要改crd资源ippools。其他方式安装的calico修改方法可能不一样。在虚拟机上的k8s上启动了2个pod,分布在不同的node上,这两个pod不能ping通对方的pod ip。修改虚拟机之上的k8s集群的calico网络的ipipMode为Never即可,之前使用的是Always。

weixin_40548182的博客 4054

完美三元组

问题: 定义完美三元组,(a,b,d),a是d的倍数,b是d的倍数,且a>=b>=d>=1; 输入: T组测试数据,第一行一个T(1<=T<=10000),之后T行每行两个整数L,R,表示三元组中 a 的取值区间[L, R]. 在此条件下,求满足的完美三元组的总数  ( 1 输出: 一个整数。 分析: 首先,a的值已经确定,又d是a的约数,所以d的值可以确定,又b

AC是绝对不可能的 752

【智能流体力学】使用ANSYS Fluent + SpaceClaim + SCDM制作流体力学前处理的几何模型

生成来源.scdoc文件来自前处理工具生成的模型数据,或在 FLUENT 中创建和保存的模型。生成方式: 通过前处理工具导出网格数据,或在 FLUENT 中设置并保存模型。作用: 用于储存模型的结构信息和设置,确保在 FLUENT 中的正确导入和使用。.x_t文件是 Parasolid 文件格式的扩展名,用于存储三维模型数据。在 ANSYS Fluent 中,这种格式通常用于在前处理工具之间交换几何数据。要创建.x_t。

源代码杀手的博客 3265

浪在ACM10.26第二次训练赛

  A.海港 题目描述   输入   输出 输出n行,第i行输出一个整数表示第i艘船到达后的统计信息。   样例输入 3 1 4 4 1 2 2 2 2 2 3 10 1 3   样例输出 3 4 4   提示 【样例解释1】  第一艘船在第1秒到达海港,最近24小时到达的船是第一艘船,共有4个乘客, 分别是来自国家4,1,2,2共来自3个不同的国家...

Minoz的博客 975

GEE:关于遥感生态指数(RSEI)的若干疑问

本文记录了若干关于在 Google Earth Engine (GEE)平台上,计算基于主成分分析(PCA)的遥感生态指数(RSEI)的问题。并记录了解决这些问题的一些答案。问题包括,主成分分析的特征值的正负,主成分的占比,去云后空值像素的处理方法,异常值处理方法,如何看载荷等。

养乐多的博客 3416

基于STM32的录音机设计(STM32F103+VS1053B)

本项目设计并实现了一款基于STM32微控制器的便携式录音机。该录音机采用STM32F103C8T6作为主控芯片,结合VS1053B音频编解码模块、SD卡存储、OLED显示屏以及按键模块,提供了手动录音、自动录音和录音回放等多种功能。

1万+

递增三元组——第九届蓝桥杯C语言B组(省赛)第六题

给定三个整数数组 A = [A1, A2, … AN], B = [B1, B2, … BN], C = [C1, C2, … CN], 请你统计有多少个三元组(i, j, k) 满足: 1. 1 <= i, j, k <= N 2. Ai < Bj < Ck 【输入格式】 第一行包含一个整数N。 第二行包含N个整数A1, A2, ... AN。 第三行包含N个整数...

仙女的博客 501

微信小程序 - 最新详细实现调起手机摄像头拍摄身份证人像面和国徽面取景框功能,在拍照相机上增加身份证证件照的轮廓或自定义文字,支持替换扫描拍摄辅助线图片及文本,小程序实现拍照身份证时带取景轮廓框拍摄!

微信小程序,身份证,证件照,人像,证件照提示框模板,vue身份证拍照框,摄像机相机里有引导内容,取景框拍摄,微信小程序实现拍照界面自定义实现,自拍人相框拍摄,取景框,户口簿取景框,画布指定区域生成图片,微信小程序身份证正反面拍照如何加入辅助图片引导照片,身份证取景框拍摄,服务器,上传,正反面,调起手机摄像头: 拍摄身份证的正反面,自定义身份证取景框,在相机上绘制 “身份证轮廓“ 与提示文字,拍摄身份证时出现人像框怎么实现,在相机上增加图片和文字,微信小程序怎么给调起的相机加入自定义图片,小程序实现给相机上面

🏆 前端领域优质创作者 3403

超好用的ACM刷题网站,你用过几个?

这里写自定义目录标题超好用的ACM刷题网站,你用过几个?1.hdu2.codeforces3.计蒜客4.落谷5.Virtual Judge 超好用的ACM刷题网站,你用过几个? 一入ACM深似海,从此天天虐成狗。。。 在大佬成堆的世界里踽踽独行QWQ 对于新手来说,刷题可以让你的编程能力飞速提升。当有了一定的积累后,你会发现自己的编程能力已经甩别人一条街了。 废话不多说,上货! 1.hdu 网址...

qq_43929617的博客 3万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

代码随想录+力扣刷题记录+华为机考准备记录

为了准备华为机考的刷题记录(不全)(已挂,春招再战)为了准备华为机考的刷题记录(不全)(已挂,春招再战)

LiangManqi0320的博客 2342

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

关于我的大学ACM江湖

文章目录1、引言2、心得与体会3、分享模板 1、引言 大二下学期正式入ACM,大家一看这时间就知道算是挺晚的了,因为我大一比较迷茫,没有在大学加过任何部门,学习也提不上什么劲,大二上开始有了自己的想法,在班上成功竞选上了学习委员,然后我越发积极,在大二上的寒假假期独自在家刷题,目的就是为了蓝桥杯,初赛挺适合新手锻炼的,刷题目的就是为了学校的选拔赛,争取名额,后面当然得到了名额,最后在比赛也取得了省...

超逸の学习技术博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

杭电OJ刷题指南(ACM)

1.首先,打开百度,输入“杭电OJ”进行搜索 2.然后进入杭电OJ官网,进行注册 3.输入注册信息 4.接下来进入详细注册界面,将信息填写完整后点击Submit 5.接下来即可登录帐号,填写用户名和密码后 点击Sign in 6.接下来,进入刷题界面 7.英文题自行翻译,从11页开始有中文题,无论中英完成后都计入刷题数 8.做题时一定要仔细看题,积极尝试 9. 选择答题语言为C语言...

qq_38769551的博客 9万+

acm刷题记录(2020.4.4)

leetcode 17 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 值得注意的地方是 7和9是4个所以我的代码有点奇怪。 本质上是考虑为向量乘积,定义乘法。 class Solution { public List<String> cs(List<Stri...

Kicate的博客 293

LeetCode刷题误区以及python的ACM编程(对这段时间做公司笔试题的一个反思)

1. 写在前面 最近找实习的这段时间,做了好几家公司的笔试算法题,确实是给予了一定的打击,和我之前预想的有点不太一样,当然,我不是一个遭受点打击就立马放弃的人,所以这里不带负面情绪,有打击才能更加认识到不足嘛,这样我们才能成长,通过这几次打击,也希望能累积点经验,对于我来说, 这段时间的试错成本还应该扛得住。 这篇文章主要是通过这几次笔试记录下我平时刷LeetCode的一些误区(顺便写点自己的体会啦), 另外再整理一下python下的ACM编程(这几次笔试悟出来的比较合适的代码结构,不一定普适哈) , 下面

Miracle8070 9178

杭电acm刷题记录ID1002

Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input The first line of the input contains an integer T(1<=T<=20)

qq_17125887的博客 911

【acm专题分类】刷题计划 附题目地址 (两个月持续更新中)

由于那篇文章内容比较多,总是需要审核,于是用这篇文章来提供 vj 地址 vj题目地址(持续更新中,欢迎来AK) 【两个月刷题计划】专题一 简单搜索 【两个月刷题计划】专题二 搜索进阶 学如逆水行舟,不进则退 ...

超逸の学习技术博客 3147

什么是核心代码模式,什么又是ACM模式?

搞清楚

代码随想录 3万+

acm刷题记录(2020.3.13)

leetcode 7 整数反转 这道题最重要的是溢出的处理,若用int作为数据类型去判断有没有溢出是无法的做到的,只有通过long来判断才行,当然可以通过捕获异常来判断。 其思路很简单就不过多赘述 code: class Solution { public int reverse(int x) { if(x==0) return x; long x1=x;...

Kicate的博客 258

刷了几千道算法题,这些我私藏的刷题网站都在这里了!

遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...

Rocky0429 16万+

ACM-刷题记录-14届NEFU校赛

P2031凯撒密码 #include<bits/stdc++.h> using namespace std; int main(){ string s; int d; while(cin>>s) { cin>>d; int len=s.length(); for(int i=0;i<len;i++) { s[i]...

StormTechnology的博客 234

acm刷题记录(2020.3.12)

leetcode 4 寻找两个有序数组的中位数 这题的思路类似归并排序,设k为两个数组长度和,找中位数等于找第k/2和(k+1)/2两个数。 在算法中学过查找两个有序数组的第K小元素,可以采用二分的思想。 找取p=k/2时 数组nums1和nums2的第p个元素。 若 nums1[p]>nums2[p] ,则说明nums2前面p个元素都不是第k小元素。 于是可以把数组b的前p个元素舍去,将...

Kicate的博客 308
上一篇: 计算机网络理论复习兼JAVA网络编程(持续更新)
下一篇: 编译原理:RL/0文法的词法分析器
不见冬
博客等级 码龄7年 3粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值