分类:编程

27 篇文章

简单琢磨一下Java里的HashMap和ConcurrentHashMap的使用问题
这个事情源自于最近跟朋友的聊天。在聊天的时候朋友说自己在出一套Java的试卷,问问我有没有什么灵感。 我问朋友要求是什么,朋友说要求就是两点,一个是够基础,一个是他希望这套题“反八股文”,让死背Java八股文的朋友能认识到光背八股文是不行的。 于是我就从八股文最爱问的HashMap问题下手,出了一个这样的题,大致内容是这样的: public cla…
试着去开发一个Game Boy游戏
前几天aco姐问我一个问题,她说她想买个游戏机,但是不知道买啥。我毫不犹豫的就告诉她,要买就买Game Boy! 我个人觉得Game Boy是一个对游戏界意义很大的游戏机,有几家媒体叫这个游戏机“不老奇迹”,因为它有空前绝后的十几年的产品周期。这上面诞生过的诸如超级马里奥·世界和Pokemon系列的游戏都是家喻户晓的老IP。 对于写Game Boy…
初探Java的SPI机制
最近听到了一个神奇的词“SPI”,本着听不懂就多查查的道理去查了一波,发现网上搜不到这个词,只能搜到个“串行外设接口”的释义。 在请教了许多dalao之后,我终于对Java中的SPI机制有所了解了。 SPI机制其实应用很广泛 其实SPI机制并不是一个离我们很遥远的高级特性,应用很广泛,比如以MySQL连接件举个例子。 我们经常编写一个Java连接M…
初学Java NIO
Java中目前有两套I/O库,分别是BIO(Blocking I/O,位于java.io包)与NIO(Non-blocking I/O,位于java.nio包)。 在Java4时,Java引入了新的I/O库,即Java NIO。实际上,正如《Java编程思想》中所述,旧的IO包已经使用NIO重新实现过了(详见此文,诸如FileInputStream…
POJ3889 Fractal Streets
由于自己一直不刷题,越来越菜,为了拒绝躺平,我决定刷刷题! 题意 现在我们要负责城市扩建的规划工作。建筑位于每个格子的正中间。原来(n=1时)的城市是如下图(a)一样的排列(这里的布局强调的是两个建筑之间道路的规划)。 对于n时,扩建的方案是把n-1时的城市布局原封不动复制一遍放到正上方,然后原来的布局分别逆时针和顺时针旋转90度放到左上方和左方。…
今天突然想搞一下Python
在之前对Python的印象,也仅仅是停留在口嗨阶段,也就是一直说要学要看,但是从来没看过也没学过。自己明白Python现在比较火,然后知道大家大多数人都觉得Python入手快,并且机器学习和人工智能等等领域的框架都更青睐Python。 但实际上自己从来没有去认真学过Python。自己虽然很菜,但是在大多数情况下基本上是能用Java就用Java。首先…
【思维题】Codeforces 1560E Polycarp and String Transformation
题意 对于两个字符串s1和s2。 先把s3和s4都设为s1,然后循环这样的操作: 对于第i次操作,从s3里把s2字符串的第i个字符全部删掉。 然后把s3加在s4的最后面。 知道s2里的字符全部都扫一遍结束。 举个例子: s1是abacaba,s2是bac,那么步骤是这样的: 一开始,s4就是s1,也就是abacaba 第1次操作:把所有b删掉(s2…
【思维】Codeforces 1555E Boring Segments
题意 在一个 [1,m) 的数轴上有 n 条线段,第 i 条覆盖的范围是[li, ri),权值是wi。 现在希望我们能从这n个线段里挑出一些线段,这些线段能够覆盖数轴上[1,m)所有点。问在这些所有可能的选法里,所选线段权值最大的那个的权值减去最小的权值,这个差最小能是多少。 思路 用快慢指针实现扫描功能 首先将这n个线段排序,这里可以用快慢指针去…
【思维题】Codeforces 1555D Say No to Palindromes
题意 这个题中出现的字符串只能有a, b, c三个字母构成。如果一个字符串里不存在一个子串,既是回文串又有长度大于等于2,那么这个串就很漂亮。 给一个长为n的字符串,有m次询问,每次询问[l,r]这个区间的字符串,至少需要改变几个字符,才能把它变成一个好看的字符串。 思路 关键点:一个漂亮的字符串,其实任意三个相邻字符都两两不相同。 证明:思考这样…
初学主席树
今天学长心血来潮,跟我讲了主席树。 身为资深笨比的我从早上琢磨到第二天凌晨才过了主席树的洛谷板子题。赶紧整理一下。 主席树又叫做可持久化线段树,他可以解决区间第k大问题。 问题:给定一系列数,问这些书从第l个数到第r个数这段闭区间内,第k大数是多少。 基于朴素思路思考 最直接的思路就是暴力,每次询问都对这个区间排个序,排好了查一查。显然时间复杂度是…