自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 竞赛刷题笔记 UVA12558 埃及分数进阶

这个题做个简短的笔记。最开始中规中矩的按照迭代加深的思路写,但是我的启发函数设置在已经计算两分数相减之后,而没有设置在还未运算的时候,结果TLE。。。后面参照代码仓库设置在减法之前,AC后来print了一下一组数据前后dfs经过的轮数,前者dfs了170多w次,后者只dfs了5w次,仅仅是调换了语句的位置就如此大的差距,只能说明迭代加深真的需要设计好启发函数,这也是最近让我头疼的东西。希望以后努力吧。另外这题的数据也很大,int不够用,得用long long...

2022-02-28 21:43:45 144

原创 寒假竞赛刷题笔记 uva12166(括号处理+二叉树应用)

又是刷紫书的一天。。。。这个题我认为挺难的,刚拿到这个题的时候我没有什么思路,最终干瞪眼想了两三个小时后画了个图之后突然有些思绪。这个题突破口在于,应当找到这个天平平衡时每个砝码的特点,以下有两个例子:h是这个天平的总重量,这些叶子节点的值h/4,h/8等等就是砝码对应的重量,与总重量的关系。此处有两个处理思路:1.可以知道叶子结点也就是砝码之间的重量也有一定的数量关系,因此,可以每次固定一个砝码,算出此时其他位置砝码应该有的重量,并与现在的重量进行比较,求出重量需要发生变化的砝码数

2022-01-19 21:33:51 593

原创 UVA1599 寒假竞赛刷题笔记

鏖战了一个月的期末考试,终于放寒假了,近日又重启了竞赛训练计划,接着上学期刷的内容刷题。uva1599 理想路径,乍一看题目意思不难,无非就是两个要求:1.求无向图中最短路径;2.保证这些路径的字典序最小。很容易想到使用BFS来解题。但是因为这题数据量巨大,对于时间的效率要求很高。首先很容易想到贪心的思想。第一步运用贪心的思想就是对于边的处理。由于题目中说一对节点之间可能很多条边,要使路径字典序最小,必须走这些边中字典序最小的边,所以在输入的时候,可以动态更新这些边对应的颜色,取最小值。第二

2022-01-16 13:08:03 509

原创 UVA 12333 斐波那契的复仇 今日竞赛刷题总结

竞赛小白,最近在刷紫书,终于刷到了这么一个具有思维挑战性的题目,从昨晚到现在,不断写不断debug不断参考资料,终于花了五六个小时A了这个题。这个题对于竞赛小白的我学到了很多东西。1.首先,大数高精度加减:一般来说我都习惯使用链表进行高精度加减,但是,这个题之后,使我摒弃了高精度使用链表保存数字的想法,因为,链表由于其数据结构的特点,非常占用空间,这个题100000个数,全用链表保存会直接导致内存爆炸,甚至把我的电脑跑蓝屏了。其次,链表增添数字需要设置头指针,还需要设置前驱指针,代码复杂,容易遗

2021-11-17 11:02:20 462

原创 Rapidjson使用中的debug小感想

最近学校算法课要求完成一个搭建简易区块链系统的小项目,里面需要进行json文件的解析,jsoncpp因为环境配置很苦手因此我选择了腾讯的rapidjson,今天在debug写出来的客户端的时候,发现rapidjson和fstream结合使用有一个需要注意的地方。基于文件的标准操作,使用ifstream读入文件之后需要进行关闭操作。在此场景下我需要使用rapidjson中的istreamwrapper进行文件输入流的处理,并把结果解析到rapidjson库的核心类document中。一开始我是这样

2021-11-11 22:45:23 12228

原创 UVA-814 邮件传输代理的交互 今日竞赛刷题有感

这个题是个模拟类型的题,题目很长,但是读下来很容易理解意思,算法也不难,一顿输入输出就行了,但是却让我耗费了一天的时间来debug。这个题去重很关键,而且在去重的同时还要保证原有输入输出顺序不变,这个倒是容易解决,加个set或者迭代器加algorithm库里的find函数判断一下再插入容器就行,很容易从debug数据中找到。但是,,,对于我来说最难的是输入和输出。竞赛中的输入输出太重要了,输出不好会造成PE,输入不对则将是无穷无尽的WA!!!这个题一开始我是一行一行读入,但是总是报错,de了一天bug,

2021-10-23 20:04:07 197 1

原创 深入理解计算机系统 家庭作业2.80的一个解答

#include<iostream>using namespace std;int threefourths(int x){ /* 思路:要想不溢出,就必须先除以4,再乘3,但是这回导致精度问题,也就是比如:10*3/4,先除以四商是2, 2*3是6,但最终答案是7,那是因为10/4的余数2乘上3后大于4,所有最终结果相当于少加了个1。因此我们可以 从余数入手,如果一个数除以4的余数为2(-2),则最终结果必须要加上1(-1),除以4的余数是3(-3),最.

2021-10-10 20:51:34 121

空空如也

空空如也

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

TA关注的人

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