2018 年洛谷日报索引

学术版

洛谷 @ 2018-07-11 22:28:42

历年洛谷日报索引

2022 年

2021 年

2020 年

2019 年

2018 年

12 月

#109 运行linux的第四种方式:双系统(作者:SIGSEGV)

https://www.luogu.com.cn/blog/_post/94249

#108 从零开始的矩阵乘法(作者:可爱即是正义)

https://shehuizhuyihao.blog.luogu.org/post-zhen-sheng-fa

#107 Turbo Pascal的进化史(作者:zhzh2001)

https://zhzh2001.blog.luogu.org/evolution-of-turbo-pascal

#106 初探容斥原理(作者:iki9)

https://www.luogu.org/blog/KingSann/chu-tan-rong-chi-yuan-li

#105 铃悬的数学小讲堂——杜教筛(作者:铃悬)

https://lx-2003.blog.luogu.org/dujiao-sieve

#104 不常用的黑科技——三元环(作者:iki9)

https://www.luogu.org/blog/KingSann/fou-chang-yong-di-hei-ke-ji-san-yuan-huan-post

#103 可并堆之左偏树(作者:HolseLeet)

https://www.luogu.org/blog/cytus/ke-bing-dui-zhi-zuo-pian-shu

#102 区块链,你知道多少?(作者:ShineEternal)

https://www.luogu.com.cn/blog/_post/64579

#101 信息学竞赛全攻略3:信息学竞赛考什么(作者:kkksc03)

https://www.luogu.org/blog/kkksc03/oi-descption3

#100 线段树合并:从入门到放弃(作者:Styx)

https://www.luogu.org/blog/styx-ferryman/xian-duan-shu-ge-bing-zong-ru-men-dao-fang-qi

#99 零基础零成本搭建属于自己的WordPressHexo博客(作者:CokeMine)

https://www.luogu.com.cn/blog/65360/ling-ji-chu-ling-cheng-ben-da-jian-shu-yu-zi-ji-di-wordpresshexo-bo-ke

#98

该文章涉嫌抄袭,已经撤下。

11 月

#97 北京大学2018年中学生暑期课堂(信息科学)3日游(作者:lhy1210302421)

https://www.luogu.org/blog/lhy1210302421/BDXLY2018

#96 Typora ---一款简洁的Markdown编辑器(作者:顾z)

https://rpdreamer.blog.luogu.org/typora-yi-kuan-jian-jie-di-markdown-bian-ji-qi

#95 信息学竞赛全攻略2:为什么要参加竞赛(作者:kkksc03)

https://www.luogu.org/blog/kkksc03/oi-descption2

#94 在你的Android手机上运行Linux(作者:wendster)

https://www.luogu.org/blog/wendster/play-linux-on-your-android-phone

#93 C++11 Unordered_map & set 你真的了解了吗?(作者:yijan)

https://www.luogu.com.cn/blog/_post/76302

#92 OI中组合数的若干求法与CRT(作者:ButterflyDew)

https://www.luogu.org/blog/ButterflyDew/post-oi-CRTblabla

#91 浅谈玄学数据结构:跳表(作者:I_love_him52)

https://www.luogu.com.cn/blog/_post/78392

#90 浅谈Dijkstra(作者:灯火丿葳蕤)

https://www.luogu.com.cn/blog/_post/53048

#89 厌倦了Windows自带的远程桌面连接?试试TeamViewer(作者:小猪之最)

https://www.luogu.org/blog/thepigblog/Teamviewer

#88 Arbiter评测系统指北(作者:dingyuxiao99)

https://dingyx99.blog.luogu.org/use-arbiter-to-generate-arbitrary-results

#87 浅谈并查集优化(作者:喵小皮)

https://www.luogu.com.cn/blog/_post/74686

#86 NOIP选手必知的编程技巧(作者:StudyingFather)

https://studyingfather.blog.luogu.org/some-coding-tips-for-oiers

#85 图论的小技巧以及扩展(作者:chengni)

https://www.luogu.org/blog/chengni5673/tu-lun-di-xiao-ji-qiao-yi-ji-kuo-zhan

#84 数字组成的奥妙——数位dp(作者:Mathison)

https://www.luogu.org/blog/virus2017/shuweidp

#83 Vim的使用、配置与简单拓展(作者:小老虎3018)

https://www.luogu.org/blog/Tiger3018/vim-basic-learning

#82 聊聊动态规划与记忆化搜索(作者:interestingLSY)

https://interestinglsy.blog.luogu.org/memdfs-and-dp

#81 轻量级编辑器透彻指南--Notepad++(作者:ghj1222)

https://www.luogu.org/blog/user13091/ghj1222-likes-npp

10 月

#80 马拉车(manacher) 算法(作者:codesonic)

https://www.luogu.org/blog/codesonic/manacheralgorithm

#79 二进制与位运算(作者:chengni)

https://www.luogu.org/blog/chengni5673/er-jin-zhi-yu-wei-yun-suan

#78 浅谈算法——博弈论(从零开始的博弈论)(作者:Wolfycz)

https://www.luogu.org/blog/Wolfycz/qian-tan-suan-fa-bo-yi-lun-zong-ling-kai-shi-di-bo-yi-lun-post

#77 2-SAT略解(作者:守望)

https://www.luogu.org/blog/user9012/post-2-sat-lve-xie

#76 差分数组 and 树上差分(作者:顾z)

https://rpdreamer.blog.luogu.org/ci-fen-and-shu-shang-ci-fen

#75 浅谈C++指针(作者:zhouwc)

https://zwc.blog.luogu.org/qian-tan-c-zhi-zhen

#74 贪心讲解(I)(作者:LCuter)

https://www.luogu.org/blog/83547/tan-xin-jiang-xie

#73 尺取法小结(作者:Fuko_Ibuki)

https://www.luogu.org/blog/Nero-Yuzurizaki/chi-qu-fa-xiao-jie

#72 X Window系统简明介绍(作者:尘息)

https://www.luogu.org/blog/chenxijun/x-window-system

#71 傅里叶变换(FFT)学习笔记(作者:command_block)

https://www.luogu.org/blog/command-block/fft-xue-xi-bi-ji

#70 NOIP2018初赛提高组解析(作者:zcysky&kkksc03)

https://www.luogu.org/blog/zcysky/noip2018-chusai-tg-sol

#69 当小球遇上盒子(作者:chengni)

https://www.luogu.org/blog/chengni5673/dang-xiao-qiu-yu-shang-he-zi

#68 克鲁斯卡尔重构树略解(作者:守望)

https://www.luogu.org/blog/user9012/ke-lu-si-ka-er-zhong-gou-shu-lve-xie

#67 铃悬的数学小讲堂——狄利克雷卷积与莫比乌斯反演(作者:铃悬)

https://lx-2003.blog.luogu.org/mobius-inversion

#66 浅析中国剩余定理(从CRT到EXCRT)(作者:ztz11)

https://www.luogu.org/blog/ztz11/qian-xi-zhong-guo-sheng-yu-ding-li-zong-crt-dao-excrt

#65 树上启发式合并(作者:codesonic)

https://www.luogu.org/blog/codesonic/dsu-on-tree

#64 真正的全真虚拟机:VmWare Workstation(作者:ztz11)

https://www.luogu.org/blog/ztz11/zhen-zheng-di-quan-zhen-xu-ni-ji-vmware-workstation

#63 洛谷用户的福利!美化洛谷界面(作者:哔哩哔哩)

https://www.luogu.org/blog/41868/material-luogu-material

#62 Splay简易教程(作者:tiger0132)

https://tiger0132.blog.luogu.org/slay-notes


by Prurite @ 2018-12-04 09:05:34

20楼前排资瓷


by blackfrog @ 2018-12-09 14:08:27

建议洛谷出一个比较好查询的目录索引,这样子文章多了还能找到地址


by 滑蒻稽 @ 2018-12-15 14:55:22

前排

by TEoS @ 2018-12-17 20:39:16

资瓷


by Alphaban @ 2018-12-22 13:20:51

【动态规划】最长公共子序列与最长公共子串

  1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest Common Subsequence, LCS),顾名思义,是指在所有的子序列中最长的那一个。子串是要求更严格的一种子序列,要求在母串中连续地出现。在上述例子的中,最长公共子序列为blog(cnblogs, belong),最长公共子串为lo(cnblogs, belong)。
  2. 求解算法 对于母串 X=< x 1 , x 2 ,⋯, x m

    X=<x1,x2,⋯,xm> , Y=< y 1 , y 2 ,⋯, y n

    Y=<y1,y2,⋯,yn> ,求LCS与最长公共子串。 暴力解法 假设 m<n m<n , 对于母串 X X ,我们可以暴力找出 2 m 2m 个子序列,然后依次在母串 Y Y 中匹配,算法的时间复杂度会达到指数级 O(n∗ 2 m ) O(n∗2m) 。显然,暴力求解不太适用于此类问题。 动态规划 假设 Z=< z 1 , z 2 ,⋯, z k

    Z=<z1,z2,⋯,zk> 是 X X 与 Y Y 的LCS, 我们观察到 如果 x m

    y n xm=yn ,则 z k

    x m

    y n zk=xm=yn ,有 Z k−1 Zk−1 是 X m−1 Xm−1 与 Y n−1 Yn−1 的LCS; 如果 x m ≠ y n xm≠yn ,则 Z k Zk 是 X m Xm 与 Y n−1 Yn−1 的LCS,或者是 X m−1 Xm−1 与 Y n Yn 的LCS。 因此,求解LCS的问题则变成递归求解的两个子问题。但是,上述的递归求解的办法中,重复的子问题多,效率低下。改进的办法——用空间换时间,用数组保存中间状态,方便后面的计算。这就是动态规划(DP)的核心思想了。 DP求解LCS 用二维数组c[i][j]记录串 x 1 x 2 ⋯ x i x1x2⋯xi 与 y 1 y 2 ⋯ y j y1y2⋯yj 的LCS长度,则可得到状态转移方程 c[i,j]= ⎧ ⎩ ⎨ ⎪ ⎪ 0 c[i−1,j−1]+1 max(c[i,j−1],c[i−1,j]) i=0 or j=0 i,j>0 and
    x i

    y j i,j>0 and x i ≠ y j c[i,j]={0i=0 or j=0c[i−1,j−1]+1i,j>0 and xi=yjmax(c[i,j−1],c[i−1,j])i,j>0 and xi≠yj 代码实现 public static int lcs(String str1, String str2) { int len1 = str1.length(); int len2 = str2.length(); int c[][] = new int[len1+1][len2+1]; for (int i = 0; i <= len1; i++) { for( int j = 0; j <= len2; j++) { if(i == 0 || j == 0) { c[i][j] = 0; } else if (str1.charAt(i-1) == str2.charAt(j-1)) { c[i][j] = c[i-1][j-1] + 1; } else { c[i][j] = max(c[i - 1][j], c[i][j - 1]); } } } return c[len1][len2]; } DP求解最长公共子串 前面提到了子串是一种特殊的子序列,因此同样可以用DP来解决。定义数组的存储含义对于后面推导转移方程显得尤为重要,糟糕的数组定义会导致异常繁杂的转移方程。考虑到子串的连续性,将二维数组 c[i,j] c[i,j] 用来记录具有这样特点的子串——结尾为母串 x 1 x 2 ⋯ x i x1x2⋯xi 与 y 1 y 2 ⋯ y j y1y2⋯yj 的结尾——的长度。 得到转移方程: c[i,j]= ⎧ ⎩ ⎨ ⎪ ⎪ 0 c[i−1,j−1]+1 0 i=0 or j=0 x i

    y j x i ≠ y j c[i,j]={0i=0 or j=0c[i−1,j−1]+1xi=yj0xi≠yj 最长公共子串的长度为 max(c[i,j]), i∈{1,⋯,m},j∈{1,⋯,n} max(c[i,j]), i∈{1,⋯,m},j∈{1,⋯,n} 。 代码实现 public static int lcs(String str1, String str2) { int len1 = str1.length(); int len2 = str2.length(); int result = 0; //记录最长公共子串长度 int c[][] = new int[len1+1][len2+1]; for (int i = 0; i <= len1; i++) { for( int j = 0; j <= len2; j++) { if(i == 0 || j == 0) { c[i][j] = 0; } else if (str1.charAt(i-1) == str2.charAt(j-1)) { c[i][j] = c[i-1][j-1] + 1; result = max(c[i][j], result); } else { c[i][j] = 0; } } } return result; }

  3. 参考资料 [1] cs2035, Longest Common Subsequence. [2] 一线码农, 经典算法题每日演练——第四题 最长公共子序列. [3] GeeksforGeeks, Dynamic Programming | Set 29 (Longest Common Substring). 如需转载,请注明作者及出处. 作者:Treant 出处:http://www.cnblogs.com/en-heng/

by 灵光一闪 @ 2019-01-02 19:58:17

前排


by MeteorFlower @ 2019-01-06 21:14:28

后排


by team109 @ 2019-02-07 18:47:51

末排


by czyczyczyczyczy @ 2019-02-15 16:57:06

I can AK IOI!

I can AK IOI!

I can AK IOI!


by t162 @ 2019-02-25 17:04:54

@sgun30 花式作死


上一页 | 下一页