acm刷题记录(2020.3.12)

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

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

code:

class Solution {
    public int get(int[] nums1,int n1,int s1,int[] nums2,int n2,int s2,int k)
    {
        int len1=n1-s1+1;
        int len2=n2-s2+1;
        if(len1>len2) return get(nums2,n2,s2,nums1,n1,s1,k);
        if(len1==0) return nums2[s2+k-1];
        
        if(k==1) return Math.min(nums1[s1],nums2[s2]);
        int x1=s1 + Math.min(len1,k/2)-1;
        int x2=s2 + Math.min(len2,k/2)-1;
        if(nums1[x1]>nums2[x2]) return get(nums1,n1,s1,nums2,n2,x2+1,k-(x2+1-s2));
        else return get(nums1,n1,x1+1,nums2,n2,s2,k-(x1+1-s1));
    }
    public double findMedianSortedArrays(int[] nums1, int[] nums2) {
    int n1=nums1.length;
    int n2=nums2.length;
    int m1=(n1+n2+1)/2;
    int m2=(n1+n2+2)/2;
    return (get(nums1,n1-1,0,nums2,n2-1,0,m1)+get(nums1,n1-1,0,nums2,n2-1,0,m2))*0.5;
  }
}

在这里插入图片描述

leetcode 5
最长回文子串
在这里插入图片描述
此题最简单思路是 对于任一字符其前字符等于后一字符,或者后一字符与其相等,则是回文串。
即:存在s[n],if s[n-1]==s[n+1] or s[n]=s[n=1] then s[n-1,n+1] or s[n,n+1]是回文串
根据这个思路 遍历所有字符 即可得出最长回文子串。

code:

class Solution {
    public String longestPalindrome(String s) {
        int len = s.length();
        if(len == 0) return "";
        int max=0;
        int r=0;
        int l=0;
        for(int i=0;i<len-1;i++)
        {
                int p=2;
                int j=i;
                for(;j<len-1;j++)
                {
                    if(s.charAt(i)==s.charAt(j+1))
                    {
                        p++;
                        if(p>max)
                        {
                        l=i;
                        r=j+1;
                        max=p;
                        }
                    }
                    else break;
                }
                for(int k=1;i-k>=0&&j+k<len;k++)
                {
                    if(s.charAt(i-k)==s.charAt(j+k))
                    {
                        p+=2;
                        if(p>max)
                        {
                        l=i-k;
                        r=j+k;
                        max=p;
                        }
                    }
                    else  break;
                }
        }
        return s.substring(l,r+1);
    }
}

在这里插入图片描述

稍微改进一点若判断过连续字符则下一次从不连续字符开始。

class Solution {
    public String longestPalindrome(String s) {
        int len = s.length();
        if(len == 0) return "";
        int max=0;
        int r=0;
        int l=0;
        for(int i=0;i<len-1;i++)
        {
                int p=2;
                int j=i;
                for(;j<len-1;j++)
                {
                    if(s.charAt(i)==s.charAt(j+1))
                    {
                        p++;
                        if(p>max)
                        {
                        l=i;
                        r=j+1;
                        max=p;
                        }
                    }
                    else break;
                }
                for(int k=1;i-k>=0&&j+k<len;k++)
                {
                    if(s.charAt(i-k)==s.charAt(j+k))
                    {
                        p+=2;
                        if(p>max)
                        {
                        l=i-k;
                        r=j+k;
                        max=p;
                        }
                    }
                    else  break;
                }
                i=j;
        }
        return s.substring(l,r+1);
    }
}

在这里插入图片描述
leetcode 6
Z 字形变换
在这里插入图片描述
简单思路:
根据z字型顺序,逐步将字符拼接到每一层的字符串中,但空间开销大
code:

class Solution {
    public String convert(String s, int numRows) {
    if(numRows==1) return s;
    StringBuilder [] sl=new StringBuilder[numRows];
    for(int i=0;i<numRows;i++)
    {
        sl[i]=new StringBuilder();
    }
    boolean k=true;
    int p=0;
    for(int i=0;i<s.length();i++)
    {
        if(k==true)
        {
            sl[p].append(s.charAt(i));
            p++;
            if(p==numRows-1) k=false;
        }
        else
        {
            sl[p].append(s.charAt(i));
            p--;
            if(p==0) k=true;
        }
    }
    StringBuilder sp=new StringBuilder();
    for(int i=0;i<numRows;i++)
    {
        sp.append(sl[i]);
    }
    return new String(sp);
    }
}

在这里插入图片描述

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) 阅读详情

相关推荐

实现计算两个相同长度的有序数组的中位数

给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数。 例如: arr1 = {1,2,3,4}; arr2 = {3,4,5,6}; 一共8个数则上中位数是第4个数,所以返回3。 arr1 = {0,1,2}; arr2 = {3,4,5}; 一共6个数则上中位数是第3个数,所以返回2。 要求:时间复杂度O(logN) # -*- coding:utf-8 -*- __author__ = 'yangxin_ryan' """ Solutions: 此题

杨鑫newlife的专栏 1178

ACMer必备工具,记录你在各大OJ的刷题量

安利一个工具OJ 题量统计 只要输入你的ID昵称,就能统计你在某个OJ平台的刷题总数。

江小举的博客 4243

手把手教你使用Segformer训练自己的数据

SegFormer 基于Swin transformer 修改

weixin_38353277的博客 2万+

两个有序序列的中位数

两个有序序列的中位数

Elenore1997的博客 3371

ATAC-seq差异分析实战:从原始数据到GO富集(R/Bioconductor全流程)

本文提供了ATAC-seq差异分析的完整R/Bioconductor实战流程,涵盖从原始数据准备、一致峰集构建、计数矩阵生成,到使用DESeq2进行差异可及性分析,以及差异峰的基因组注释与GO富集分析。文章详细讲解了关键步骤、参数设置和常见问题,旨在帮助研究者获得可靠且可解释的生物学结果。

weixin_29246195的博客 228

Apple Pay不能添加卡,不一定是卡的问题,有可能是设备的问题

Apple Pay不能添加卡,不一定是卡的问题,有可能是设备的问题。

wyxtx的博客 3432

【ACM刷题专题】这个假期一起来刷题把,刷完冲击区域赛,刷完拿不到奖随便打!

文章目录1、引言2、专题分享2.1 专题一 简单搜索2.2 专题二 搜索进阶2.3 专题三 Dancing Links舞蹈链2.4 专题四 最短路练习2.5 专题五 并查集2.6 专题六 最小生成树2.7专题七 线段树2.8 专题八 生成树2.9 专题九 连通图2.10 专题十 匹配问题2.11 专题十一 网络流2.12 专题十二 基础DP12.13 专题十三 基础计算几何2.14 专题十四 数论...

超逸の学习技术博客 8842

28-基于STM32单片机的便携式健康监测系统设计与实现(程序+原理图+元件清单)

本文详细介绍了基于STM32单片机的便携式健康监测系统设计与实现,该系统集成MAX30102光电传感器和MSP20压力传感器,实时监测心率、血氧和血压等关键生理指标。通过STM32F103C8T6主控芯片和HC-05蓝牙模块,实现数据采集、处理及无线传输,具有便携性高、操作简便等特点,适用于家庭健康监护和户外运动场景。

weixin_29191669的博客 420

杭电ACM题单整理

杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最近点对问题,用分治 1008 简单题 1009 贪心 1010 搜索题,剪枝很关键 1011 1012 简单题 1013 简单题

一苇以航 4865

ADI DSP开发环境(CCES)下的程序烧录问题(以ADSP-SC589为例)

在CCES环境下将程序烧录到flash主要有两种方式。首先在对项目编译产生文件的属性设置为Release。 在编译完成后,找到每个CORE单独生成的DXE文件: 文件通常位于项目目录下每个core的Release文件中。安装SC589评估板的驱动(ADSP-SC5xx_EZ-KIT_Lite-Rel2.0.0.exe)后,在安装目录下可以找到SPI FLASH芯片的驱动程序(sc589_w25q128fv_dpia_Core1.dxe): 把文件copy到CCES 的目录下由于SC58x处理器的特殊性

daijingxin的博客 3726

告别SD卡!手把手教你用NVMe硬盘盒给Jetson Orin Nano离线烧录Ubuntu系统

本文详细介绍了如何利用NVMe硬盘盒为Jetson Orin Nano离线烧录Ubuntu系统,替代传统SD卡方案。通过硬件选择、系统镜像准备到烧录命令的全流程解析,帮助开发者提升存储性能与系统稳定性,特别适合嵌入式开发场景。

weixin_30808693的博客 458

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

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

qq_43929617的博客 3万+

别再浪费HDRI了!D5渲染器环境光设置避坑指南(附天空球调试参数)

本文深入解析D5渲染器中HDRI环境光的高阶调试技巧,揭示90%渲染师常犯的错误认知。通过参数联动黄金法则、特殊材质应对方案及动态场景优化策略,帮助用户精准控制光子能量分布,实现建筑玻璃反射云层过渡等专业级效果。附赠天空球调试参数和商业项目验证案例,助您彻底释放HDRI潜力。

weixin_29216049的博客 494

杭电OJ刷题指南(ACM)

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

qq_38769551的博客 9万+

基于深度学习 YOLOv11 的快递包裹检测系统(Python + PySide6 界面 + 训练代码)

成为亟需优化的重要环节。随着电子商务的快速发展,物流行业面临着越来越大的压力,为了解决这些问题,我们提出了一种。目标检测算法,实现快递包裹的。的界面,供用户进行实时监控。本项目的主要目标是利用。

斌擎科技 762

假人有限元模型

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

关于我的大学ACM江湖

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

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

acm刷题记录(2020.4.4)

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

Kicate的博客 293

杭电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刷题记录(2020.3.11)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

Kicate的博客 307

杭电ACM——自我强化步骤

实验室的师兄编程都很牛逼,我这个小菜鸟私下跟他们讨教了怎样变成牛逼的绝招,“练练练,写写写”这是他们给我的回答。尽管平时他们做项目很忙,但总是会抽出时间刷刷ACM。现在也感觉自己反应速度和算法能力有些欠缺,所以给自己制定了一个训练计划,坚持下去,让自己这个小菜鸟也能飞得高一点。这个训练计划参考了网上的一些资料,训练就是为了不仅为了提高自己的算法能力,动手能力,更是为了提高自学能力。根据师兄的建议选择

去实验室,奔跑吧 1万+

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

遥想当年,机缘巧合入了 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刷题记录】线段树杂题其一

title : 线段树杂题 date : 2021-11-14 tags : ACM,数据结构 author : Linno 区间子段和 每次询问在序列的[x1,y1]中选L,[x2,y2]中选R,使得子段和[L,R]最大每次询问在序列的[x1,y1]中选L,[x2,y2]中选R,使得子段和[L,R]最大每次询问在序列的[x1,y1]中选L,[x2,y2]中选R,使得子段和[L,R]最大 SP2916 GSS5 - Can you answer these queries V #include<i.

SC_Linno的博客 796

acm刷题记录 (2020.4.2)

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] ] ...

Kicate的博客 289

杭电OJ刷题记录(C语言)

记录小白杭电OJ题练习。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

m0_73889655的博客 632
上一篇: acm刷题记录(2020.3.11)
下一篇: acm刷题记录(2020.3.13)
不见冬
博客等级 码龄7年 3粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值