自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 【计科二班】编程测试题解

A.MinMax swap我们假定两个序列中最大值为MAX,则无论如何交换,A或B序列中必有一个序列最大值为MAX。则答案固定为MAX*max(A) 或 MAX*max(B).最小化max(A)或max(B)即可。我的代码是最小化max(B).代码:​​#include<iostream>#include<algorithm>using namespace std;int main(void){ ios::sync_with_stdio(fals

2022-04-24 21:30:43 468

原创 Uva442 Matrix Chain Multiplication

原题:总体思路就是用栈来进行表达式解析。代码://利用栈来进行表达式解析#include<iostream>#include<algorithm>#include<stack>#include<string>#include<map>#include<array>#include<sstream>#include<cctype>#define endl "\n"using na.

2022-02-24 21:36:00 270

原创 Uva210 Concurrency Simulator

原题:该题是运用双端队列的一道练习题,注意的点是当lock操作不成功时,在源lock程序unlock后应当返回的是lock语句,而非其后。只要熟练运用队列,本题还是较为简单的。代码:#include<iostream>#include<algorithm>#include<string>#include<vector>#include<sstream>#include<queue>#include&lt

2022-02-23 16:40:45 423

原创 Uva221 Urban Elevations

第一次接触离散化这个概念,发现真的非常奇妙,简单的分析和去重就将无限映射为有限。原题:分析:将建筑的左右端点存入x数组中,则相邻x坐标构成的区间内的点具有相同属性。不妨取其中点来探究建筑是否可见。以下代码在紫书上刘汝佳老师的参考代码基础上进行了部分修改。代码:#include<iostream>#include<algorithm>#include<array>#define endl "\n"using namespace std;co.

2022-02-20 16:50:36 560

原创 Uva1592 Database

原题:思路:用一个IDcache去给所有字符串分配ID,再利用pair构成二元组。维护左端点c1,枚举右端点c2,同时遍历row从上到下扫分配的id库。查询第row行pair(c1,c2)是否存在即可。代码:#include<iostream>#include<algorithm>#include<string>#include<sstream>#include<set>//集合#include<map>//映射

2022-02-13 20:40:55 565

原创 Uva400 Unix ls

刘汝佳紫书上的例题,思路较为简单原题:大致题意:有若干个样例,每个样例有n个字符串,样例第一行输入n,接下来n行每行输入一个字符串,最后按以列优先的方式按字典序从小到大输出字符串。每行字符不能超过60个,要求输出行数尽量小。同时,前C-1列占位Max+2,第C列占位Max。Max是最长字符串长度。思路:在输入的同时更新Max值,由于行数要尽量小。所以列数应当尽量大。通过Max与60这个限制来算出列数与行数,在输出时边输出边计算下标。代码:​#include<iostream&g

2022-02-11 22:42:42 708

原创 Uva11809 Floating Point Number

代码:/*该题显示了计算机存储浮点数的阶码-尾数储存方式*/#include<stdio.h>#include<string.h>#include<math.h>#define EPS 1e-5int main(void)//核心思想:利用对数防止数据溢出,对处理高次幂有指导性作用。{ char end_of_file[10]={"0e0"}; char linein[300]; while(scanf("%s",linein)&&a...

2022-02-10 23:50:11 123

原创 Uva202 Repeating Decimals

补传一个之前在紫书上刷的题原题:代码:#include<stdio.h>#include<string.h>int capacity[100000];//被除数相同说明已经进入循环。int flag[100000];//根据抽屉原理,前3000位内循环必定发生。int rec[100000];//数组开10万级别,不然可能越界。int main(void){ int numerator,deminator; while(scanf("%d %d",&a.

2022-02-09 23:25:18 389

原创 Uva512 SpreadSheetTracking

补一下之前没上传的LRJ紫书例题。本题就是一个稍长的模拟,我当时是用c写的,所以比较冗长。这道题并没有什么思想难度,建议独立实现。原题:代码:#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#define DEBUGtypedef struct{ int r; int c;}Point;const char *compare_sour

2022-02-08 21:37:47 492

原创 Uva815 Flooded

原题:本题有多种解法,偏向思维。最主要的是精度问题。分析:对输入数据进行排序,水会先囤积在低海拔地区,低海拔区域存满后才开始浸入高海拔地区。 所以从海拔最低的地区开始更新最终海拔高度和实时剩余水量,当剩余水量严格大于0时更新淹没区域数量。通过淹没区域面积计算海拔高度。代码:#include<iostream>#include<algorithm>#include<iomanip>#include<vector>#define EPS

2022-02-07 21:31:54 366

原创 Uva1591 DataMining

这题是真正意义上的折磨题,属实是给我做吐了。不过也暴露出自身的很多问题来,比如英语阅读能力不足,读了很多遍都没有读懂题,又或者是思维深度不够,没有将内存大小与题中公式结合起来。还有就是总是粗心大意,一遇到问题就用ultra compare去debug,而不是自己去思考。总是遗漏题目中的很多隐藏条件,在这题栽跟头之后,我彻底意识到算法竞赛训练是一个长期的过程,应当舍弃功利心,虚心学习,才能有所提高·。也正如刘汝佳老师所说,此题有着一定的实际意义,不仅是知识上的,也是精神上的。原题:简要分析:题中主

2022-02-06 16:04:25 340

原创 Uva12108 Extraordinarily Tired Students

刚开始看到题有点蒙,不过看到数据范围很小时就开始笑了。直接暴力解法,挺简单的。思路:a+b为单个学生的awaken-sleeping周期T。将所有学生周期T的最小公倍数LCMT找出,则在LCMT分钟以后所有学生的状态集合会重复,即LCMT分钟内包含了所有可能发生的学生状态。用一个bool类型二维数组存储每个学生当前的状态。然后循环遍历即可,如在某一分钟醒着的学生数量大于等于睡着的学生数量,那么总体状态一定会在此时逐渐回复到全员清醒。原题:代码:#include<iostream&g.

2022-02-05 16:31:50 334

原创 【计科二班】寒假专题三 题解

A.找规律的签到题,结果还不错,这题已经绿榜了 ,没做出来的同学自己花时间想想。唯一需要注意的是' \ '符号要用转义字符‘ \\ ’打印。B.做题前先看数据范围,这题会爆int所以用longlong老办法,ans = ⌈ a*y / x ⌉ - 1.代码:#include<iostream>#include<algorithm>#include<cmath>using namespace std;int main(void){ l

2022-02-05 12:08:13 443

原创 Uva509 RAID

我在这题卡了一天,心态有点小崩。不过最后AC的时候还是很开心的。坑点:1.注意当两个及以上disc无法读取时,输入不合法。2.当校验结果与预期ans不同时,输入不合法。其它都为合法情况。当合法时,校验块不能作为数据读取,所以要判断磁盘储存区是否为校验块。最后将二进制转化为十六进制串时如比特数量不是4的整数,应当在ans串末尾补零。我采用string流和transform函数来进行进制转换,也可以用bi...

2022-02-04 22:36:59 554

原创 Uva253 Cube Painting

题面:我的思路:用一个set来存放一个骰子的所有可能情况,通过固定(3,4)面所对应的骰子面来区分不同分支情况。在(3,4)面确定的时候上旋遍历即可。代码:#include<iostream>#include<algorithm>#include<set>#include<string>#pragma GCC optimistic(2)using namespace std;void change_right(string&amp

2022-02-03 17:26:26 240

原创 【计科二班】寒假专题二

这次题目都挺简单的,只是为了让你们关注模拟题而已。A.签到题,没什么好说的,注意细节就行。代码:#include<stdio.h>int main(void){ for(int i=0;i*5<=100;i++) { for(int j=0;j*3+i*5<=100;j++) { int k=100-i-j; if(k%3==0&&i*5+j*3+

2022-01-29 12:05:15 421

原创 【计科二班】寒假专题一 题解

A.这道题其实数据挺水的,作为训练题一般,但是作为上次A题的强化版却是极佳的。如果上次测验认真补题,那么这题应该难不倒你。思维:逐行读入,对每一行出现的字母进行扫描,同时判断其是否为小写字母。用一个数组来存放各字母的出现次数,最后按顺序扫描数组,输出不为0的数组元素即可。技巧:#include<ctype.h>头文件下的islower()谓词函数可以方便的判断字符是否为小写字母。上代码:#include<stdio.h>#include<string.h&g

2022-01-27 12:07:06 2922

原创 计科二班摸底考试题解

A 本题为今年西南民大校赛的一道签到题只需逐行循环读入字符串,并统计“:w”的个数即可,注意程序有空格间断,所以使用gets读入代码:#include<stdio.h>#include<string.h>#define maxn 100000int main(void){ char s[maxn]; int sum=0; while(gets(s)) { int len=strlen(s); int i; for(i=0;i<len-1

2022-01-25 12:34:11 514

原创 Uva201 Squares

纯暴力水题,拿一个结构体存一下每个点的连接情况就行了。原题:ac代码:#include<iostream>#include<algorithm>#include<cstring>#define DEBUGusing namespace std;typedef struct{ int face[4];//上下左右}Squares;Squares board[11][11];int num[12];int cnt=1;void i.

2022-01-23 10:21:35 273

原创 Uva12412 a.k.a Shi Xiong Bang Bang Mang

这题综合性挺强的,刷题的时候debug改了两天。坑:每次query重新排序。求大佬轻喷。原题:ac代码(还有很多地方能优化,能让代码变得更简短,不过我懒得去看了(~ ̄▽ ̄)~)#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<ctype.h>#include<stdbool.h>#define EPS.

2022-01-19 21:04:07 500 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除