最近在看刘汝佳老师的《算法竞赛入门经典(第2版)》,收获很大,很多知识都在上面查漏补缺,书上有一道STL的例题,用到了stack、vector、map、set,而且“化集合为ID”的思路很好,记录一下。
stringstream-类型转换&&字符分割
继续填坑٩(•̤̀ᵕ•̤́๑),这次是stringstream的内容,最初是看到它可以把字符串直接输出成int类型,惊了,但是一直不是很懂。在网上查了很多资料,才终于差不多理解。stringstream是C++提供的一个字符串流,和cin,cout输入输出流类似,只不过它不是从从键盘或文件输入,也不是输出到屏幕或文件中,而是接受一个对象的输入,或把缓存区的内容输出到一个对象中。具体可以用在类型转换和字符分割中。
Codeforces-#498Div3-C-前&&后缀和
好题,虽然比较简单,但是觉得这道题的解题思路挺棒的,用到了前缀和,后缀和以及思路的转换.解出来之后还是很开心的,嚯嚯嚯(一个只能做做Div3的小菜鸡|・ω・`))
牛客暑期ACM多校训练营(第四场)G题-Maxinum Mode-思维+map
一道逆向思维的好题,比赛的时候没有做出来,赛后补题的时候按原来的思路写出来了,然而代码超时了= =,阅读了别人的代码后发现自己想复杂了,从逆向来考虑感觉非常巧妙,思路也很顺畅.从正向考虑反而要顾及很多情况,可能就是因为考虑的太多代码冗余就TLE了.
牛客暑期ACM多校训练营(第三场)A题-PACM Team-多维01背包+记录路径
DP果然是最弱的,记录路径更是十分懵,在多校训练营里被虐的抬不起头,,,算了,只要不死,就会更强(赛亚人的特性其实也就是人的特性)
python脚本-tab转空格
有一个一直比较麻烦的问题,平时写代码都是在gedit上写,然后设置了tab键是4个空格的位置,但是代码粘到博客里tab就变成了8个空格的位置,严重破坏了代码的美观!不能容忍!一直没有找到怎么在hexo里面设置,所以之前一直手动把tab换成4个空格QAQ,慢慢的觉得这样很傻,我为什么不写个程序帮我自动改==,首选python!(人生苦短,我用python)。虽然对python不是很熟悉,但是边查边写应该问题不大,最终完成了,从此再也不用傻傻的手动转换了,幸福/(ㄒoㄒ)/~~代码量很小
My little angel
HDU4856-Tunnels-BFS+状态压缩DP
最近的几场训练赛做题的时候发现自己对搜索类、动态规划类的题有些恐惧,导致这些类型的题比赛时基本做不出来。仔细想了一下,是自己的递归部分理解的就不够透彻,导致搜索写不出来,动态规划就更无从下手。之前也找了很多递归理解的文章去看,也做了一些递归的题,但是效果不佳。意识到网上的资料对于递归的理解一般会拿经典的斐波那契数列或汉诺塔来举例,这对于递归的理解确实是有帮助的,但是对于锻炼搜索思维的效果不是太有效,于是决定先恶补一部分搜索类的题。
这道题是准备西安邀请赛时打的模拟赛做到的题,知识点主要用到了BFS和状态压缩DP,可以当做旅行商问题来做,但是最后不返回起点。由于自己DP比较差,所以搞懂这道题还是花了挺长时间。状态压缩DP部分的实现代码参考大白。
Ps:在最后会贴几个自己觉得看到的对递归和动态规划理解比较有帮助的文章链接。