Educational Codeforces Round 42 (Rated for Div. 2)

Unity URP半透明物体渲染避坑指南:双面渲染与深度写入的实战技巧 本文深入探讨了Unity URP中半透明物体自交叠渲染问题的核心根源与解决方案。针对模型自身交叠导致的排序错误,文章提供了双面渲染与深度写入两种实战技巧,详细分析了其实现原理、性能开销及适用场景,帮助开发者根据项目需求选择最优方案,有效提升玻璃、水体等材质的视觉表现。 阅读详情

A.
记录一下前缀和,二分找一下超过一半的地方就行了。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n,i,j,sum[200005]={0};
    cin>>n;
    for(i=1;i<=n;i++){
        scanf("%d",&j);
        sum[i]+=sum[i-1]+j;
    }
    int half=sum[n]/2;if(sum[n]&1)half++;
    int len=lower_bound(sum+1,sum+1+n,half)-sum;
    cout<<len<<endl;

    return 0;
}

B.
注意细节即可;

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#include<string>
using namespace std;
int main()
{
    int n,a,b,i,j,k;
    cin>>n>>a>>b;string str;cin>>str;
    priority_queue<int>que;//存放所有空闲位置的长度
    for(i=0;i<str.size();i++){
        if(i<str.size()&&str[i]=='.'){
            int cnt=0;
            while(i<str.size()&&str[i]=='.'){
                cnt++;i++;
            }
            que.push(cnt);
        }
    }
    int cnt=0;
    while(que.size()&&que.top()!=1){//在空闲位置长度大于1之前都要考虑不相邻问题
        int t=que.top();que.pop();
        if(a==0&&b==0)break;
        if(a-t/2>=0)a-=t/2,cnt+=t/2;
        else cnt+=a,a=0;
        if(b-t/2>=0)b-=t/2,cnt+=t/2;
        else cnt+=b,b=0;
        if(t&1){
            if(a>=b&&a)a-=1,cnt+=1;
            else if(b)b-=1,cnt+=1;
        }
    }
    int total=0;
    if(que.size()&&(a+b)){//如果还有长度为1的位置,并且人也没放完
        while(!que.empty()){
            total+=que.top();que.pop();
        }
    }
    cnt+=min(a+b,total);
    cout<<cnt<<endl;

    return 0;
}

C.
数据不大,最多2e9,所以直接枚举每一位要不要删去即可,最多也就2^9种,用一个二进制数来记录删去的位。

#include<cstdio>
#include<iostream>
#include<cmath>
#include<map>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
    int n,i,j,k;
    cin>>n;int m=n;i=0;map<int,int>ys;
    while(m){
        j=m%10;ys[1<<i]=j;
        m/=10;i++;
    }
    int cnt=i;
    int maxwei=(1<<i)-1;int minn=0x7f7f7f7f;
    for(i=1;i<=maxwei;i++){
        j=i;int num=0;bool iszero=false;
        vector<int>temp;
        while(j){
            k=j&-j;j-=k;
            temp.push_back(ys[k]);
            if(!ys[k])iszero=true;
            else if(ys[k]&&iszero)iszero=false;
        }
        if(iszero)continue;
        else{
            reverse(temp.begin(),temp.end());
            for(auto i=temp.begin();i!=temp.end();i++)
                num=num*10+*i;
            int w=sqrt(num);
            if(w*w==num){
                j=i;int cnt1=0;
                while(j){
                    j-=j&-j;cnt1++;
                }
                minn=min(minn,cnt-cnt1);
            }
        }
    }
    if(minn<0x7f7f7f7f)
        cout<<minn<<endl;
    else cout<<-1<<endl;

    return 0;
}

D.
我们使用一个map来记录每个数值出现的位置,那么如果任何一个数值出现了第二次,它一定会与第一次出现的位置上的数发生合并。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
typedef long long ll;
map<ll,int>pos;//第一个键值是数值,第二个是数值出现的位置
ll a[150005];//用于存读取的数
int main()
{
    int n,i,j;
    cin>>n;int ans=n;
    for(i=1;i<=n;i++){
        scanf("%lld",&a[i]);
        while (pos[a[i]]!=0){//如果这个数值出现过了
            a[pos[a[i]]]=0;//第一次出现的位置清楚
            ans--;
            pos[a[i]]=0;//当前位置清除,因为很可能合并之后的数值又是出现过的
            a[i]*=2;
        }
        pos[a[i]]=i;
    }
    cout<<ans<<endl;
    for(i=1;i<=n;i++)
        if(a[i])
            printf("%lld%c",a[i],i==n?'\n':' ');

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

相关推荐

[OrCad电路板设计系统].Orcad.Pspice.9.2下载安装

Orcad.Pspice.9.2详细下载安装图文步骤1 安装前准备工作1.1 下载安装包1.2 解压2 安装时步骤2.1 安装文件2.2 破解文件3 安装完成 1 安装前准备工作 1.1 下载安装包 打开百度网盘APP 链接:https://pan.baidu.com/s/1cMFxHUvuh5iEhFVT-lvciQ 提取码:7m65 1.2 解压 解压下载好的安装包 2 安装时步骤 2.1 安装文件 1.点击Setup安装文件,出现警告对话框,告诉你应该关闭所有病毒防火墙,点击确定 2.进入安装界面,

weixin_48924581的博客 1万+

Educational Codeforces Round #41 (D&E)

ABC就是暴力暴力暴力哇……D. Pair of Lines: 给出平面上n个点的坐标,问是否存在两条直线使得这n个点中的每一个都至少位于一条直线上。两条直线,首先要确定其中一条直线,然后将不在这条直线上的所有点取出来判断它们是否共线。前三个点必定可以确定一条直线,直接枚举三种组合方式。n&lt;=4时直接输出Yes。#include&lt;cstdio&gt; #include&lt;cstri...

NPU_SXY的博客 362

告别理论推导!用Matlab工具箱5步搞定相机标定(附张正友法原理白话解读)

本文详细介绍了如何使用Matlab工具箱在5步内完成相机标定,无需复杂理论推导。通过棋盘格拍摄和Matlab的Camera Calibrator工具箱,用户可以快速获取相机的内参和外参,显著提升3D视觉的准确性。文章还提供了张正友标定法的白话解读,适合初学者和工程师快速上手。

weixin_42548816的博客 415

解题报告: Educational Codeforces Round 24 A,B,C

A、题目链接 题意: n个人,有人有文凭,有人有证书,有的人什么也没有,其中有证书的人数量为有文凭的人的k倍,我们称有文凭或者有证书的人为有奖状的人,已知有奖的人不超过一半,询问最多有多少人获奖。 思路: 根据题意列个不等式直接算出结果即可。 代码: #include using namespace std; int main() { long long n,k;

Hee的博客~ 533

【FPGA的基础快速入门23--------OV5640摄像头VGA显示】

FPGA的基础学习--------OV5640摄像头VGA显示OV5640简介二级目录三级目录 OV5640简介 OV5640同OV7725一样,都是Omni Vision(豪威科技)公司生产的CMOS图像传感器。 OV5640支持更高的分辨率(500W像素)、采集速率,具有更高的图像处理性能,主要应用在手机、数码相机、电脑多媒体等领域。 OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC (自动聚焦控制)等功能。 OV

暮雨中的坚果的博客 7688

OpenWrt南京电信PPPoE IPv6配置:从零搭建稳定双栈网络

本文详细指导如何在南京电信PPPoE宽带环境下,为OpenWrt路由器配置稳定的IPv6双栈网络。核心在于正确设置WAN6接口为DHCPv6客户端,并请求/60前缀,同时配置LAN口分发地址并放行防火墙关键流量,确保内网设备获得原生IPv6连接。

water的专栏 1339

Educational Codeforces Round 42(4.11)

A. Equator Polycarp has created his own training plan to prepare for the programming contests. He will train for nn days, all days are numbered from 11 to nn, beginning from the first. On the ii-th ...

反之亦然 512

drm 之modes

#define _GNU_SOURCE #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <time.h&...

u012794472的专栏 3716

Educational Codeforces Round 21 D ( 二分 )

D. Array DivisionVasya has an array a consisting of positive integer numbers. Vasya wants to divide this array into two non-empty consecutive parts (the prefix and the suffix) so that the sum of all el

退役的铜牌狗 839

uniapp - 详细解决 H5 网页报错 Uncaught Error: Async component timed out after ? ms.(移动端h5页面白屏或加载缓慢失败,超时报错处理)

uni-app,vue3,网页,h5,移动端,手机H5页面,浏览器,报错,uniapp报错,Asynccomponenttimedoutafter,如何解决这个问题,vue3Asynccomponenttimedoutafter,异步组件超时了怎么办,async,详细解决方案,AsyncComponents异步组件,导致页面打不开了,白屏什么也不显示,网页载入非常慢卡顿,vue3网站报错,超时,nuxt3,详细解决方案,浏览器控制台报错,爆红并且页面卡住了,依旧报错,找不到异步组件的报错

🏆 前端领域优质创作者 3774

【WRFDA第三期】OBSPROC namelist 变量总结

OBSPROC namelist 变量总结

WW、forever的博客 1120

Educational Codeforces Round 42 E 贪心

题目链接 题意: 数轴上有三种类型的点:B型点、R型点、P型点。 你可以连接任意两个点,连接的代价是两个点的距离,即坐标之差。 而最终希望达到的条件是: 如果去除所有B型点,R型点和P型点中任意两个点连通。 如果去除所有R型点,B型点和P型点中任意两个点连通。 现在给定n个点的坐标和类型,求满足条件的最小代价。 思路: 首先有一个显然合法的可行方案: 即先单独考虑所有B...

新熊君的博客 447

广州吉欧电子科技有限公司安卓开发工程师岗位 - 技术核心、职责详解与面试指南

广州吉欧电子科技有限公司招聘安卓开发工程师,该岗位可接收优秀应届生。岗位职责包括:1)负责安卓应用架构设计与开发,确保稳定性和可扩展性;2)功能模块编码实现与测试;3)性能优化与用户体验提升;4)后端接口对接;5)系统版本适配;6)用户反馈处理迭代;7)特殊要求熟悉RTK高精度定位技术原理及使用。该岗位要求扎实的安卓开发技术、良好的架构设计能力、性能优化经验,以及特定领域的RTK专业知识,是一个技术全面且具有专业特色的开发岗位。

郑伟强dev的专栏 153

Educational Codeforces Round 42 (Rated for Div. 2)_A-D题解

A. Equator这个题看了立马就开始写,三四分钟就交上去了,预判正确,当时感觉还挺顺,哈哈......结果后来被人hack了,哇第一题都不对的嘛.....#include &lt;cstdio&gt; #include &lt;ctime&gt; #include &lt;queue&gt; #include &lt;cstring&gt; #include &lt;iostream&gt; ...

A_Bo的博客 403

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Educational Codeforces Round 42 (Rated for Div. 2) A~D

A.Equator 题意一串数列,到第几个数为止,使得前面的数的总和大于等于全部总和的一半。很简单,只要注意精度问题,不要用前面的求和大于等于总和的一半,而应该是前面的求和的2倍大于等于总和来算。代码#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;vector&gt; #incl...

ff137774288的博客 194

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

A、B、C、D、Educational Codeforces Round 42 (Rated for Div. 2)

Educational Codeforces Round 42 (Rated for Div. 2)  http://codeforces.com/contest/962A:Equator这里需要注意一个问题,就是直接 / 2 的时候、有奇数偶数的情况、如果是奇数的话、这个答案就是错误的、所以我们反过来求解、用当前得数 * 2  如果大于,输出,不能继续叠加、import java.io.Buff...

qq_36706625的博客 239

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Educational Codeforces Round 42 (Rated for Div. 2) D - Merge Equals

这道题我可以直接模拟 理由是一个数*2的过程中最多30次左右 2^31 = 2e9 所以我可以从小的书开始模拟这个过程 #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <map> #include &lt...

diankeng5481的博客 111

Educational Codeforces Round 42 (Rated for Div. 2) D. Merge Equals

D. Merge Equalstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array of positive integers. While there are at least two equal ele...

PinesL 306
上一篇: Codeforces 468 Div2
下一篇: Codeforces Round #475 (Div. 2) C
HumveeA6
博客等级 码龄17年 12粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值