首页 > 其他分享 >E. Imprecise Computer和华为CCPC2023挑战赛的一道题目

E. Imprecise Computer和华为CCPC2023挑战赛的一道题目

时间:2023-08-21 20:22:34浏览次数:40  
标签:CCPC2023 int 华为 Computer 绝对值 序列 挑战赛 Imprecise 出错

华为挑战赛

建议看我们队长的2023CCPC华为云挑战赛 C-装箱问题 - 凉宫景 - 博客园 (cnblogs.com)


Problem - E - Codeforces

题目说是有台计算机对于绝对值差小于2 的两个数的大小判断会出错误,现在要求对1-n判断两轮小于i的数,然后做差绝对值.给出绝对值序列,问是否是这个计算机做的.

做的时候被一个发现的"规律"困住了.然后一直wa.尽管已经发现这个的产生方式了.


思路:这个计算机对于绝对值差小于2的数大小比较会出错,那么对其他的都不会出错.在不出错的情况下,每一轮的序列值应该是 0,1,2,3,.....n-1.但是因为会出错,序列值可能会发生改变,但是错误仅仅发生在相邻的两个元素之间.

那么我们可以用0,1,1,1,1,1....1来表示这个序列.一共有n-1个1,表示它比前面的大.如果机器判断2<1,那么序列就会变成0,2,0,1,,,,,,,1换言之就是这个1可以往前借

我们按照给定的序列跑一遍看看形成的两个序列的差的绝对值是否等于给定序列即可

查看代码

#include<iostream>
using namespace std;
int n,a[1000005],b[1000005],c[1000005];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>c[i];
	//预先分配两个序列 
	a[1]=b[1]=0;
	for(int i=2;i<=n;i++)a[i]=b[i]=1;
	for(int i=1;i<n;i++)//第n位没法借了 
	{
		if(abs(a[i]-b[i])<c[i])//向后借位 
		{
			if(a[i]<b[i])//大的+1 
			{
				b[i]++;
				b[i+1]--;
			}
			else a[i]++,a[i+1]--;
		}
		else if(abs(a[i]-b[i])>c[i])//向后借位 
		{
			if(a[i]<b[i])//小的+1 
			{
				a[i]++;
				a[i+1]--;
			}else
			{
				b[i]++;
				b[i+1]--;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		if(abs(a[i]-b[i])!=c[i])
		{
			cout<<"NO";
			return 0;
		}
	}
	cout<<"YES";
	return 0;
}

标签:CCPC2023,int,华为,Computer,绝对值,序列,挑战赛,Imprecise,出错
From: https://www.cnblogs.com/qbning/p/17646984.html

相关文章

  • 计算机视觉(Computer Vision),计算机图形学(Computer Graphics)和数字图像(Image Proce
    计算机视觉(ComputerVision),计算机图形学(ComputerGraphics)和数字图像(ImageProcessing)从学科分类:ComputerScience/ArtificialIntelligence/ComputerVisionComputerScience/ComputerGraphicsandVisualizationElectricalEngineering/SignalProcessing/Digit......
  • Japanese-computer1
    目录null1.設定\せってい\setting2.検索\けんさく\search3.言語\ごんご\speech4.優先する言語\ゆうせんするごんご\preferredlanguage5.言語の追加\ごんご、ついか\Addlanguage6.MicrosoftEdgeについて\AboutMicrosoftEdge7.バージョン\バージョン\version8......
  • 「解题报告」CF1067D Computer Game
    快国赛了,写点水题玩吧。首先容易有一个贪心策略:先以某种最优策略一直进行,直到成功一次后一直选择\(b_ip_i\)最大的进行。我们可以列出一个DP,设\(f_T\)表示在\(T\)时刻内期望最大收益,容易写出:\[f_T=\max\{p_i((T-1)v+a_i)+(1-p_i)f_{T-1}\}\]看起来就是可......
  • CS 131 Computer Vision: Foundations and Applications Fall 2014-2015
     CS131ComputerVision:FoundationsandApplications Fall2014-2015EventTypeDateDescriptionCourseMaterialsLecture1Tuesday September26Courseintroduction Computervisionoverview Courselogistics Introductionslides [pptx] [pdf] Logisticsslid......
  • 图形学流体力学Fluid Simulation for Computer Graphics
    从水的飞溅,到火焰和烟雾的旋转,流体已经成为计算机图形学的一个重要组成部分。这本书旨在涵盖模拟这些动画效果的基本知识。让我们来看看控制它们运动的基本方程。动画中大多数有趣的流体流动都是由著名的incompressibleNavier-Stokes方程控制的。>>fluidenginedevelopment>>......
  • David Patterson: A New Golden Age for Computer Architecture
    https://www.youtube.com/watch?v=ctwj53r07yIahttps://www.bilibili.com/video/BV1o34y1Y72h?spm_id_from=333.337.search-card.all.click&vd_source=c0141490be6b32eb25c3f5a58ff7e14fhttps://eecs.berkeley.edu/turing-colloquium/schedule/patterson......
  • CCPC2023 河南省赛
    和零时加的队友打了一下,计算几何摆了,最优化摆了,adhoc摆了。A.小水獭游河南枚举前缀,是\(O(|\Sigma|)\)的,然后判断一下是不是回文串即可。B.ArtforRest昨天才做过这个套路的加强版。显然只用判断类似\(\max(a,b)<\min(b+1,c)\)的条件。暴力枚举是调和级数的。E.矩阵......
  • CF1183C Computer Game 题解
    ComputerGame还算水的一道题。题意本题意为题面直接翻译的简化版,可能会比题目翻译要复杂。有\(q\)次询问,每次给出四个数,表示一开始的电亮为\(k\),有\(n\)个回合,不插电玩一个回合则电量会减少\(a\),插电玩一个回合则电量会减少\(b\),电量在任何时刻都必须严格大于\(0\)......
  • Think Python-How to Think Like a Computer Scientist_chapter4_练习 4-3
    #coding=gbkimportmathimportturtlebob=turtle.Turtle()print(bob)defpie(t,r,n):"""画一个包含n个三角形的饼图。t:Turtleobjectr:三角形腰长n:包含几个三角形或几边形"""angle1=180/nangle2=90+angle1y=......
  • Frontiers of computer Science Journal 模版踩坑经历
    官方模版提供网址如下:https://journal.hep.com.cn/fcs/EN/column/column11258.shtml编译的时候出现了文字超出页面的问题。这个问题在网上也有讨论。https://tex.stackexchange.com/questions/609199/how-to-set-bottom-padding-of-the-frontiers-of-computer-science-jour......