(第一题 A+B Problem)

原题连接:Problem - 6938 (hdu.edu.cn)

HZ has a special calculator, in which all the integers are 11-bit signed integers. The range of an 11-bit signed integer is from −210 to 210−1 (from −1024 to 1023). When using this calculator to calculate the sum of two integers A and B, the result may be different from other calculators. Here are some examples:

1+1=2

1023+1=-1024

1023+2=-1023

-1024+(-1)=1023

-1024+(-2)=1022

HZ found this special calculator very strange, so he comes to you. You are given two integers A and B, and you need to guess the result of A+B of this calculator.

Input

The first line of input contains an integer T (1≤T≤105), denoting the number of test cases.

Each test case contains two integers A and B in one line. −1024≤A,B≤1023.

Output

For each test case, print one integer in one line, denoting your answer.

Sample Input

5
1 1
1023 1
1023 2
-1024 -1
-1024 -2

Sample Output

2
-1024
-1023
1023
1022

(签到题,找规律)

#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+7;
int a[N];
int main(){int t;cin>>t;while(t--){int n,m;cin>>n>>m;if(n+m>=-1024&&n+m<=1023)cout<<n+m<<endl;else{if(n+m>1023){cout<<-1024+(n+m-1024)<<endl;}else{cout<<1023+(1025+(n+m))<<endl; }}}
}

(第二题 Game)

原题连接:Problem - 6944 (hdu.edu.cn)

目前还没做出来

(第三题  Stacks)

原题连接:Problem - 6947 (hdu.edu.cn)

目前还做出来

(第四题  打开所有的灯)

原题连接:P2040 打开所有的灯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目背景

pmshz在玩一个益(ruo)智(zhi)的小游戏,目的是打开九盏灯所有的灯,这样的游戏难倒了pmshz。。。

题目描述

这个灯很奇(fan)怪(ren),点一下就会将这个灯和其周围四盏灯的开关状态全部改变。现在你的任务就是就是告诉pmshz要全部打开这些灯。

例如

0  1  1
1  0  0
1  0  1

点一下最中间的灯【2,2】就变成了

0  0  1
0  1  1
1  1  1

再点一下左上角的灯【1,1】就变成了

1  1  1
1  1  1
1  1  1

达成目标。最少需要2步。

输出2即可。

输入格式

九个数字,3*3的格式输入,每两个数字中间只有一个空格,表示灯初始的开关状态。(0表示关,1表示开)

输出格式

1个整数,表示最少打开所有灯所需要的步数。

输入输出样例

输入 #1复制

 0 1 1
1 0 0
1 0 1

输出 #1复制

2

说明/提示

这个题水不水,就看你怎么考虑了。。。。

思路:这题bfs和dfs都能做,起初我想的简便方法,想着固定第一行算一遍,和最后一行再算一遍找个最小值,最终wa了,他后面改变也会影响前面

现在提供一个dfs,这个代码看过别人思路的0.0本人比较菜,这个思路就是递归遍历每一个点,然后改变开关,最主要的是每个点最多被遍历一次,当重复遍历后相当于没有改变

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
using namespace std;
const int N=11;
int a[N][N],b[N],s[N];
bool st[N];
int res=10,ans=0;
//改变灯
void change(int x,int y){a[x][y]=1-a[x][y];a[x-1][y]=1-a[x-1][y];a[x+1][y]=1-a[x+1][y];a[x][y-1]=1-a[x][y-1];a[x][y+1]=1-a[x][y+1];
}
void dfs(int k){if(k>res)return ;//int sum=0;//计算1的个数 for(int i=1;i<=3;i++){for(int j=1;j<=3;j++){sum+=a[i][j];}}if(sum==9){ans=k-1;if(ans<res)res=ans;//    res=min(res,k-1);//找到答案,但是是传过来的前一步 } for(int i=1;i<=3;i++){for(int j=1;j<=3;j++){change(i,j);//改变开关 dfs(k+1);change(i,j);//回溯 }} return ;
}int main(){for(int i=1;i<=3;i++)for(int j=1;j<=3;j++)cin>>a[i][j];dfs(1);cout<<res;
}

(第五题  Getting Zero)

原题连接:Problem - 1661B - Codeforces

Suppose you have an integer v. In one operation, you can:

either set v=(v+1)mod32768
or set v=(2⋅v)mod32768.
You are given nn integers a1,a2,…,an. What is the minimum number of operations you need to make each aiai equal to 00?

Input
The first line contains the single integer n (1≤n≤32768) — the number of integers.

The second line contains nn integersa1,a2,…,an (0≤ai<32768).

Output
Print n integers. The ii-th integer should be equal to the minimum number of operations required to make aiai equal to 0.

Example
inputCopy

4
19 32764 10240 49

outputCopy

14 4 4 15 

Note
Let's consider each ai:

a1=19. You can, firstly, increase it by one to get 2020 and then multiply it by two 13 times. You'll get 0 in 1+13=14 steps.
a2=32764. You can increase it by one 4 times: 32764→32765→32766→32767→032764→32765→32766→32767→0.
a3=10240. You can multiply it by two 4 times: 10240→20480→8192→16384→010240→20480→8192→16384→0.
a4=49. You can multiply it by two 15 times.

出题人定义为dp,我还没来得及去写dp题解,我先讲我当时的思路

思路一:首先我们可以发现2^15=32768,所有我们可以根据根据奇数和偶数划分

偶数:

1,如果当前是2的n次方就可以直接判断32768-v和15-n的大小,输出最小的,

因为他就要么一直乘以二,要么他离32768非常近(可能不用判断32768-v我下去想想)

2,如果当前不是2的多少次方,我想的首先找到他包含2的n次方,在进行1到15-n依次加 1

如果存在比当前的偶数更好的数就加上去,例如14,他加2到16花费2,你却可以得到4,而原值14

他只含一个2,没有现在的数好

奇数:更偶数想法一样,将该值加一就是偶数了,后面操跟偶数一样的思路

可以将中间相同的部分写成函数

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=32768;int main(){int n;cin>>n;for(int i=0;i<n;i++){int x;int num=0;cin>>x;if(x==0)cout<<0<<endl;else{if(x%2==0){int y=x;int sum=0;while(y%2==0){sum++;y/=2;}if(pow(2,sum)==x){int m=N-x;if(m<15-sum)cout<<m<<endl;else{cout<<15-sum<<endl;} }else{int indx=0;for(int i=1;i<=15;i++){int s=x+i;int sum1=0,m1=0;while(s%2==0){sum1++;s/=2;}if(sum1-sum>i){sum=sum1;indx=i;}}int m=N-x+indx;if(m<15-sum)cout<<m<<endl;else{cout<<15-sum+indx<<endl;} }}else{x++;int y=x;int sum=0;while(y%2==0){sum++;y/=2;}if(pow(2,sum)==x){int m=N-x;if(m<15-sum)cout<<m+1<<endl;else{cout<<15-sum+1<<endl;} }else{int indx=0;for(int i=1;i<=15;i++){int s=x+i;int sum1=0,m1=0;while(s%2==0){sum1++;s/=2;}if(sum1-sum>i){sum=sum1;indx=i;}}int m=N-x+indx;if(m<15-sum)cout<<m+1<<endl;else{cout<<15-sum+indx+1<<endl;} }}}}
}

dp代码后面写上去

(第六题 Nastia and a Good Array )

原题连接:Problem - 1521B - Codeforces

未写出来,后续....

Nastia has received an array of n positive integers as a gift.

She calls such an array aa good that for all i (2≤i≤n) takes place gcd(ai−1,ai)=1, where gcd(u,v) denotes the greatest common divisor (GCD) of integers uu and vv.

You can perform the operation: select two different indices i,ji,j (1≤i,j≤n, ii≠j) and two integers xx,y (1≤x,y≤2⋅109) so that min(ai,aj)=min(x,y). Then change ai to x and aj to yy.

The girl asks you to make the array good using at most nn operations.

It can be proven that this is always possible.

Input
The first line contains a single integer tt (1≤t≤10000) — the number of test cases.

The first line of each test case contains a single integer nn (1≤n≤105) — the length of the array.

The second line of each test case contains nn integers a1,a2,…,an (1≤ai≤1091≤ai≤109) — the array which Nastia has received as a gift.

It's guaranteed that the sum of nn in one test doesn't exceed 2⋅105.

Output
For each of tt test cases print a single integer kk (0≤k≤n0≤k≤n) — the number of operations. You don't need to minimize this number.

In each of the next kk lines print 4 integers i, j, x, y (1≤i≠j≤n, 1≤x,y≤2⋅109) so that min(ai,aj)=min(x,y) — in this manner you replace aiai with xx and ajaj with yy.

If there are multiple answers, print any.

Example
inputCopy
2
5
9 6 3 11 15
3
7 5 13
outputCopy
2
1 5 11 9
2 5 7 6
0
Note
Consider the first test case.

Initially a=[9,6,3,11,15]a=[9,6,3,11,15].

In the first operation replace a1a1 with 1111 and a5a5 with 99. It's valid, because min(a1,a5)=min(11,9)=9.

After this a=[11,6,3,11,9].

In the second operation replace a2a2 with 77 and a5a5 with 66. It's valid, because min(a2,a5)=min(7,6)=6.

After thisa=[11,7,3,11,6] — a good array.

In the second test case, the initial array is already good.

(第七题 分糖果)

原题连接:P7909 [CSP-J 2021] 分糖果 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目背景

红太阳幼儿园的小朋友们开始分糖果啦!

题目描述

红太阳幼儿园有 nn 个小朋友,你是其中之一。保证 n \ge 2n≥2。

有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。

由于你只是个平平无奇的幼儿园小朋友,所以你的体力有限,至多只能拿 RR 块糖回去。

但是拿的太少不够分的,所以你至少要拿 LL 块糖回去。保证 n \le L \le Rn≤L≤R。

也就是说,如果你拿了 kk 块糖,那么你需要保证 L \le k \le RL≤k≤R。

如果你拿了 kk 块糖,你将把这 kk 块糖放到篮子里,并要求大家按照如下方案分糖果:只要篮子里有不少于 nn 块糖果,幼儿园的所有 nn 个小朋友(包括你自己)都从篮子中拿走恰好一块糖,直到篮子里的糖数量少于 nn 块。此时篮子里剩余的糖果均归你所有——这些糖果是作为你搬糖果的奖励

作为幼儿园高质量小朋友,你希望让作为你搬糖果的奖励的糖果数量(而不是你最后获得的总糖果数量!)尽可能多;因此你需要写一个程序,依次输入 n, L, Rn,L,R,并输出你最多能获得多少作为你搬糖果的奖励的糖果数量。

输入格式

输入一行,包含三个正整数 n, L, Rn,L,R,分别表示小朋友的个数、糖果数量的下界和上界。

输出格式

输出一行一个整数,表示你最多能获得的作为你搬糖果的奖励的糖果数量。

输入输出样例

输入

7 16 23

输出

6

其他样例看连接

思路:签到题 +找找规律

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5+7;
int a[N];
int main(){int t;//cin>>t;t=1;while(t--){int n,l,r;cin>>n>>l>>r;int x=l%n;int y=r-l;if(x+y>=n){cout<<n-1;}else{cout<<x+y;}}
}

(第八题  蚯蚓)

原题连接:P2827 [NOIP2016 提高组] 蚯蚓 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目描述

本题中,我们将用符号 \lfloor c \rfloor⌊c⌋ 表示对 cc 向下取整,例如:\lfloor 3.0 \rfloor = \lfloor 3.1 \rfloor = \lfloor 3.9 \rfloor = 3⌊3.0⌋=⌊3.1⌋=⌊3.9⌋=3。

蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。

蛐蛐国里现在共有 nn 只蚯蚓(nn 为正整数)。每只蚯蚓拥有长度,我们设第 ii 只蚯蚓的长度为 a_iai​ (i=1,2,\dots,ni=1,2,…,n),并保证所有的长度都是非负整数(即:可能存在长度为 00 的蚯蚓)。

每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只(如有多个则任选一个)将其切成两半。神刀手切开蚯蚓的位置由常数 pp(是满足 0 < p < 10<p<1 的有理数)决定,设这只蚯蚓长度为 xx,神刀手会将其切成两只长度分别为 \lfloor px \rfloor⌊px⌋ 和 x - \lfloor px \rfloorx−⌊px⌋ 的蚯蚓。特殊地,如果这两个数的其中一个等于 00,则这个长度为 00 的蚯蚓也会被保留。此外,除了刚刚产生的两只新蚯蚓,其余蚯蚓的长度都会增加 qq(是一个非负整常数)。

蛐蛐国王知道这样不是长久之计,因为蚯蚓不仅会越来越多,还会越来越长。蛐蛐国王决定求助于一位有着洪荒之力的神秘人物,但是救兵还需要 mm 秒才能到来……(mm 为非负整数)

蛐蛐国王希望知道这 mm 秒内的战况。具体来说,他希望知道:

  • mm 秒内,每一秒被切断的蚯蚓被切断前的长度(有 mm 个数);
  • mm 秒后,所有蚯蚓的长度(有 n + mn+m 个数)。

蛐蛐国王当然知道怎么做啦!但是他想考考你……

输入格式

第一行包含六个整数 n,m,q,u,v,tn,m,q,u,v,t,其中:n,m,qn,m,q 的意义见【问题描述】;u,v,tu,v,t 均为正整数;你需要自己计算 p=u / vp=u/v(保证 0 < u < v0<u<v);tt 是输出参数,其含义将会在【输出格式】中解释。

第二行包含 nn 个非负整数,为 a_1, a_2, \dots, a_na1​,a2​,…,an​,即初始时 nn 只蚯蚓的长度。

同一行中相邻的两个数之间,恰好用一个空格隔开。

保证 1 \leq n \leq 10^51≤n≤105,0 \leq m \leq 7 \times 10^60≤m≤7×106,0 < u < v \leq 10^90<u<v≤109,0 \leq q \leq 2000≤q≤200,1 \leq t \leq 711≤t≤71,0 \leq a_i \leq 10^80≤ai​≤108。

输出格式

第一行输出 \left \lfloor \frac{m}{t} \right \rfloor⌊tm​⌋ 个整数,按时间顺序,依次输出第 tt 秒,第 2t2t 秒,第 3t3t 秒,……被切断蚯蚓(在被切断前)的长度。

第二行输出 \left \lfloor \frac{n+m}{t} \right \rfloor⌊tn+m​⌋ 个整数,输出 mm 秒后蚯蚓的长度;需要按从大到小的顺序,依次输出排名第 tt,第 2t2t,第 3t3t,……的长度。

同一行中相邻的两个数之间,恰好用一个空格隔开。即使某一行没有任何数需要输出,你也应输出一个空行。

请阅读样例来更好地理解这个格式。

输入输出样例

输入

3 7 1 1 3 1
3 3 2

输出

3 4 4 4 5 5 6
6 6 6 5 5 4 4 3 2 2

字太多了当时没有读完0.0后续跟新

冲击省赛(还有6天)相关推荐

  1. 2021年全国职业技能大赛-软件测试赛项国赛总结-长春职业技术学院

    没想到这么多人加我询问比赛的相关事宜,想想自己当初也是不停的百度和谷歌再问指导老师,找比赛的相关资料. 这次比赛的结果是二等奖,虽然我们刚开始的目标是保二进一,但是对于一个从省赛就开始准备的队伍来说, ...

  2. 好嗨游戏:夏季赛常规赛结束,一文看懂S赛名额形势||附赛程

    文章首发于:好嗨游戏 上周日晚,2019年LPL夏季赛常规赛全部结束,FPX以2:0的碾压之势取胜TES,结束了夏季赛常规赛,也开启了季后赛的大门. 夏季赛之后,大家最关心的还是去S9的名额,能够代表 ...

  3. OI生涯回忆录(Part6:至高一NOIP考试结束)

    (廿六)高中文化课初体验 这个暑假是十分轻松且惬意的(虽然由于国赛的原因只有二十几天),我爷爷住院调养于是我经常捧着笔记本到医院待着玩游戏.我下了个盗版的实况13,画面比实况8好到不知道哪里去了,细致 ...

  4. 从2012 飞到 2013 —— 梦想依旧

    2011年10月我来到了人生第一家公司--埃泰克汽车电子(芜湖)有限公司. 2012年07月我就这么不知不觉的毕业了......一直以为大学可以够我挥霍很久,可是没有感觉开始,却真的到了结束. 201 ...

  5. 16届智能车竞赛单车拉力国二经验分享

    本人参加了16届全国大学生智能汽车竞赛,有幸获得了华东赛区一等奖(第一名)的成绩,但在随后举办的线上国赛中,因为冲击国一的风险,导致三次慢赛道发车都失败了,最终无缘国一.在成绩公布后,也确实证明我们对 ...

  6. 天有不测风云 | 智能车线上比赛一些意外情况

    简 介: 本文记录了参加2021年第十六届全国大学生智能车全国总决赛线上比赛同学发送过来的参赛过程所碰到的以外.也许成不顺利也是一种锻炼. 关键词: 智能车竞赛,线上比赛,翻车,室外比赛 #merma ...

  7. 信息化教学大赛 计算机程序设计,信息化教学比赛参赛经验交流会发言稿

    信息化教学比赛参赛经验交流会发言稿 与有cc.张cc两位老师组队参加信息化教学比赛,我在这个团队里承担的工作是最少的,主要工作是由有增.张颖两位老师完成的.我只参与了省赛之前的一些工作,省赛以及后来冲 ...

  8. 蓝桥杯大学组python试题_Python|近三年蓝桥杯B组题目分析报告

    前言蓝桥杯作为连接企业和高校的一项重大比赛,在各大高校有着很大的重视程度,大学期间这项赛事的奖项含金量也很高,是对个人能力的极大肯定.蓝桥杯赛事的竞争也十分巨大,想获奖不仅要有出众的能力,还需要用正确 ...

  9. 求职 | 从大学到秋招,我如何拿下腾讯offer ?

    分享一名本科生从大学入学到秋招拿到腾讯offer的完整经历,希望对同学们有所帮助. 自我介绍 鱼皮是上海某211学校本科生,网络工程专业,秋招因为有腾讯的实习转正,所以只面了大厂,也拿了几个大厂的of ...

最新文章

  1. Android layer-list 使用
  2. arduino 智能车组装步骤_【本周福利】arduino从入门、进阶到精通学习资料包(免费滴)...
  3. 海康大华RTSP格式
  4. oracle tabe unlock_Oracle 学习之性能优化(四)收集统计信息
  5. Premiere Pro CC2017教程(二) 修改导入静态图片的时间
  6. 【字符集UTF8】处理Toad显示乱码及Windows XP下无法插入“某些汉字”问题
  7. 读完这10本书,“大数据”对你来说,或许就是小菜一碟
  8. 作业帮:字符串反转(头部插入)
  9. RFID将成为物联网革命的首战
  10. EMNLP'21 | 检索式对话情感回复
  11. 使用react-native做一个简单的应用-01项目介绍
  12. qtableview 查询_在QTableView中搜索/查找功能
  13. Linux操作系统之常用快捷键汇集
  14. 爬虫python下载网站所有图片_Python爬虫-搜索并下载图片
  15. 【基因调控网络】基因调控网络及其模型
  16. 2018年11月中旬香港, 吉隆坡8天游记
  17. 公网远程开机(唤醒家庭PC)
  18. C语言四川麻将算法,四川麻将胡牌算法
  19. 显示计算机101代码,steam错误代码-101 解决steam错误代码-101的方法
  20. 倍福触摸屏维修操作面板维修CP7032-1031-0010故障分析

热门文章

  1. Purley平台Linpak测试,从踏坑开始一步步优化
  2. 编译原理:抽象语法树的构造例题
  3. ubuntu系统搜狗输入法简繁切换ctrl+shift+f快捷键禁用
  4. 转:认知自我,保持真我
  5. cookiejar包_爬虫之cookiejar模块
  6. 少年“鬼才”网上盗取20万 警方已将未成年主谋抓获进一步审讯
  7. android绘制黑色画面,Android音视频技术入门之绘制一张图片
  8. 云加速在大数据时代的战略意义
  9. elementUI 日期选择器datepicker 设置禁用日期
  10. JSP实现基本的注册功能