<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SuCicada 小米的蝉 ]]></title><description><![CDATA[算法就是美杜莎]]></description><link>https://blog.youkuaiyun.com/su_cicada</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; su_cicada]]></copyright><item><title><![CDATA[证明 scala 不能从外部调用内部函数]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/116122006</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/116122006</guid><author>su_cicada</author><pubDate>Sun, 25 Apr 2021 15:40:48 +0800</pubDate><description><![CDATA[一段代码
object ASD {
    def main(args: Array[String]): Unit = {
        def f(a: Any): Unit = {
            println(a)
        }

        f("sfsfsfdsdfd")

    }
}

如果我们想进行类似ASD.main.f(xx)或ASD.f(xx)的操作, 是否可行.
事实是残酷的, 它告诉我们不可行.
那么下面从反编译角度来探究为什么不可行:
首先我们打开编译后的]]></description><category></category></item><item><title><![CDATA[clion 代码补全很慢 ( clion code completion slow)  clangd 配置]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/115174821</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/115174821</guid><author>su_cicada</author><pubDate>Wed, 24 Mar 2021 14:26:56 +0800</pubDate><description><![CDATA[查看官网
https://www.jetbrains.com/help/clion/settings-languages-cpp-clangd.html中 关于code completion 的说明
以下配置开启路径：

File | Settings | Languages and Frameworks | C/C++ | Clangd for Windows and Linux
CLion | Preferences | Languages and Frameworks | C/C++ | Clangd]]></description><category></category></item><item><title><![CDATA[Hbase2 没有org.apache.hadoop.hbase.mapreduce.TableInputFormat]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/114083362</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/114083362</guid><author>su_cicada</author><pubDate>Thu, 25 Feb 2021 14:57:17 +0800</pubDate><description><![CDATA[导入
  &lt;dependency&gt;
      &lt;groupId&gt;org.apache.hbase&lt;/groupId&gt;
      &lt;artifactId&gt;hbase-mapreduce&lt;/artifactId&gt;
      &lt;version&gt;${hbase.version}&lt;/version&gt;
  &lt;/dependency&gt;

参考链接：https://juejin.cn/post/68449039595853]]></description><category></category></item><item><title><![CDATA[Flink 算子Function实例化的坑]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/113978086</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/113978086</guid><author>su_cicada</author><pubDate>Tue, 23 Feb 2021 14:40:56 +0800</pubDate><description><![CDATA[问题回顾
关于一段代码：
object MySingleObj{
	// 陷阱：
	// 单例对象中一个是可变引用，一个是可变数组
	var str:String = _
	val list = new ListBuffer[String]
}

...
dataStream
	.map(new RichMapFunction(){
		// 问题1：obj1 和 obj2 的实例方式有什么区别。
		// 问题2：考虑参数0的作用以及是否会得到预期效果。
		
		val obj1:MyClass = n]]></description><category></category></item><item><title><![CDATA[WSL2 -- Windows10 环境中运行 Linux （无缝衔接，开发利器）]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/113888145</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/113888145</guid><author>su_cicada</author><pubDate>Sat, 20 Feb 2021 17:40:43 +0800</pubDate><description><![CDATA[WSL2 是什么
全称为 Windows Subsystem for Linux2。是一个能在Windows上运行Linux运行环境的工具。是WSL的第二代。
简单来说就是Windows下的Linux虚拟机。
比虚拟机好在哪里

启动速度超快。文件访问跨系统访问无限制（因为两个系统之间的目录是通过网络映射挂载的）
Windows、Linux 命令混合使用。无论在哪个系统的终端，都可以使用另一个系统的命令。（比如在Linux中使用explorer.exe . 看看会发生什么）

比WSL1好在哪
最主要体现在]]></description><category></category></item><item><title><![CDATA[Flink 内存模型的分配策略 主公式推导]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/112366459</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/112366459</guid><author>su_cicada</author><pubDate>Fri, 08 Jan 2021 15:53:09 +0800</pubDate><description><![CDATA[结论: 启动flink设定的 ytm数值 与实际监控展示的JVM_Heap数值关系是 (ytm大于1920的简化公式)
JVM_Heap = ytm * 0.45 - 256

啓動參數: -ytm  设定的实际是 进程总内存,相当于yarn容器大小
Total_Process_Memory: ytm
JVM_Metaspace: 默認 256m
JVM_Overhead: 默認 jtm * 0.1 (必須在 192m ~ 1g (默認))

Total_Flink_Memory: Total_Proces]]></description><category></category></item><item><title><![CDATA[Spark 2.4.0 cdh6.3.2连接 Hive 2.1.1 cdh6.3.2]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/112263102</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/112263102</guid><author>su_cicada</author><pubDate>Wed, 06 Jan 2021 12:32:07 +0800</pubDate><description><![CDATA[以下maven配置能正确读取hive.
不该加的不要加. spark版本用cdh的.
&lt;properties&gt;
        &lt;maven.compiler.source&gt;8&lt;/maven.compiler.source&gt;
        &lt;maven.compiler.target&gt;8&lt;/maven.compiler.target&gt;
        &lt;spark.version&gt;2.4.0-cdh6.3.2&lt;/spark.ve]]></description><category></category></item><item><title><![CDATA[关于 Flink1.11.1 找不到 Hadoop Native库解决方法]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/111228342</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/111228342</guid><author>su_cicada</author><pubDate>Tue, 15 Dec 2020 18:16:14 +0800</pubDate><description><![CDATA[可以试试在 flink 的 conf/flink-conf.yaml 配置文件中加入配置如下
其中的native库的具体路径换成你自己的。
yarn.application-master.env.LD_LIBRARY_PATH: /opt/cloudera/parcels/CDH/lib/hadoop/lib/native:$LD_LIBRARY_PATH
yarn.taskmanager.env.LD_LIBRARY_PATH: /opt/cloudera/parcels/CDH/lib/hadoop/l]]></description><category></category></item><item><title><![CDATA[Spark2 Sql 遇到 Caused by: java.lang.NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/111042522</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/111042522</guid><author>su_cicada</author><pubDate>Fri, 11 Dec 2020 16:53:28 +0800</pubDate><description><![CDATA[问题版本：
Spark：2.14.0
Hive：2.1.0
原因参见spark hive java.lang.NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT
解决方案：
使用 cdh版本的包，比如
&lt;spark.version&gt;2.4.0-cdh6.3.2&lt;/spark.version&gt;
&lt;hive.version&gt;2.1.1-cdh6.3.2&lt;/hive.version&gt;

如果遇到有关 apache的log4j包缺失，加]]></description><category></category></item><item><title><![CDATA[针对导入外部Gradle项目发生的版本冲突错误。]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/110956621</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/110956621</guid><author>su_cicada</author><pubDate>Thu, 10 Dec 2020 16:51:03 +0800</pubDate><description><![CDATA[比如一个使用场景：Intellij 导入Kafka 2.2.1版本源码。
在使用gradle初始化项目时各种grafana配置文件报错。
原因主要是本机构建用的Gradle版本与项目编写配置文件产生冲突，简而言之就是Gradle版本不对。
比如Kafka 2.2.1 在发布的时候，Gradle 版本最高直到5.4.1。而本机使用了Gradle 6 。导致了冲突，下载 Gradle 5.4.1 并用其构建即可解决。

...]]></description><category></category></item><item><title><![CDATA[[Solve Error] Install g++ in Ubuntu20.04 :  g++ : Depends: g++-7 (＞= 7.4.0-1~)]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/109577212</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/109577212</guid><author>su_cicada</author><pubDate>Mon, 09 Nov 2020 15:00:21 +0800</pubDate><description><![CDATA[这是在Windows10上的Ubuntu WSL环境中遇到的问题。
目前的Ubuntu版本是Ubuntu 20.04.1 LTS。并且使用了阿里的apt镜像源。
先说结论，Ubuntu版本之高使得本机使用apt源中没有所需的库版本。所以可以尝试将apt源换回官方源。然后apt update再安装g++。
以下是断案过程。

在使用命令sudo apt install g++遇到了依赖问题。整个依赖链排查结果如下：
sucicada@20200702-143805:/etc/apt/sources.list.]]></description><category></category></item><item><title><![CDATA[UVA 11853 - Paintbal(战场) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/109014282</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/109014282</guid><author>su_cicada</author><pubDate>Sun, 11 Oct 2020 18:04:45 +0800</pubDate><description><![CDATA[例题6-22 战场（Paintball, UVa 11853）
有一个1000×1000的正方形战场，战场西南角的坐标为(0,0)，西北角的坐标为(0,1000)。
战场上有n（0≤n≤1000）个敌人，第i个敌人的坐标为(xi
,yi
)，攻击范围为ri。为了避开敌人的
攻击，在任意时刻，你与每个敌人的距离都必须严格大于它的攻击范围。你的任务是从战场
的西边（x=0的某个点）进入，东边（x=1000的某个点）离开。如果有多个位置可以进/出，
你应当求出最靠北的位置。输入每个敌人的xi、yi、ri，输出进.]]></description><category></category></item><item><title><![CDATA[UUA 506 - System Dependencies(系统依赖) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/109014109</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/109014109</guid><author>su_cicada</author><pubDate>Sun, 11 Oct 2020 17:21:59 +0800</pubDate><description><![CDATA[例题6-21 系统依赖（System Dependencies, ACM/ICPC World Finals 1997, UVa506）
软件组件之间可能会有依赖关系，例如，TELNET和FTP都依赖于TCP/IP。你的任务是
模拟安装和卸载软件组件的过程。首先是一些DEPEND指令，说明软件之间的依赖关系（保
证不存在循环依赖），然后是一些INSTALL、REMOVE和LIST指令，如表6-1所示。
表6-1 指令说明





指令
说明




DEPEND item1 item2 [item3 ….]]></description><category></category></item><item><title><![CDATA[UVA 1599 - Ideal Path(理想路径) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/109013607</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/109013607</guid><author>su_cicada</author><pubDate>Sun, 11 Oct 2020 17:09:31 +0800</pubDate><description><![CDATA[例题6-20 理想路径（Ideal Path, NEERC 2010, UVa1599）
给一个n个点m条边（2≤n≤100000，1≤m≤200000）的无向图，每条边上都涂有一种颜
色。求从结点1到结点n的一条路径，使得经过的边数尽量少，在此前提下，经过边的颜色序
列的字典序最小。一对结点间可能有多条边，一条边可能连接两个相同结点。输入保证结点
1可以达到结点n。颜色为1～10
9的整数。
Sample Input
4 6
1 2 1
1 3 2
3 4 3
2 3 1
2 4 4
3 1 1
Sam.]]></description><category></category></item><item><title><![CDATA[UVA 1572 - Self-Assembly(自组合) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/108986858</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/108986858</guid><author>su_cicada</author><pubDate>Sat, 10 Oct 2020 00:01:41 +0800</pubDate><description><![CDATA[例题6-19 自组合（Self-Assembly, ACM/ICPC World Finals 2013, UVa 1572）
有n（n≤40000）种边上带标号的正方形。每条边上的标号要么为一个大写字母后面跟着一个加号或减号，要么为数字00。当且仅当两条边的字母相同且符号相反时，两条边能拼在一起（00不能和任何边拼在一起，包括另一条标号为00的边）。
假设输入的每种正方形都有无穷多种，而且可以旋转和翻转，你的任务是判断能否组成一个无限大的结构。每条边要么悬空（不和任何边相邻），要么和一个上述可拼接的边相.]]></description><category></category></item><item><title><![CDATA[UVA 12171 - Sculpture(雕塑) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/108967677</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/108967677</guid><author>su_cicada</author><pubDate>Fri, 09 Oct 2020 00:37:03 +0800</pubDate><description><![CDATA[例题6-18 雕塑（Sculpture, ACM/ICPC NWERC 2008, UVa12171）
某雕塑由n（n≤50）个边平行于坐标轴的长方体组成。每个长方体用6个整
数x0，y0，z0，x，y，z表示（均为1～500的整数），其中x0为长方体的顶点中x坐标的最小
值，x表示长方体在x方向的总长度。其他4个值类似定义。你的任务是统计这个雕像的体积
和表面积。注意，雕塑内部可能会有密闭的空间，其体积应计算在总体积中，但从“外部”看
不见的面不应计入表面积。雕塑可能会由多个连通块组成。
Sample .]]></description><category></category></item><item><title><![CDATA[UVA 221 - Urban Elevations(城市正视图) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/108953871</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/108953871</guid><author>su_cicada</author><pubDate>Thu, 08 Oct 2020 16:15:45 +0800</pubDate><description><![CDATA[例题5-12 城市正视图（Urban Elevations, ACM/ICPC World Finals 1992, UVa221）
如图5-4所示，有n（n≤100）个建筑物。左侧是俯视图（左上角为建筑物编号，右下角
为高度），右侧是从南向北看的正视图。
图5-4 建筑俯视图与正视图
输入每个建筑物左下角坐标（即x、y坐标的最小值）、宽度（即x方向的长度）、深度
（即y方向的长度）和高度（以上数据均为实数），输出正视图中能看到的所有建筑物，按
照左下角x坐标从小到大进行排序。左下角x坐标相同时，按y坐标.]]></description><category></category></item><item><title><![CDATA[UVA 1592 - Database (数据库) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/108953150</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/108953150</guid><author>su_cicada</author><pubDate>Wed, 07 Oct 2020 18:20:53 +0800</pubDate><description><![CDATA[例题5-9 数据库（Database，ACM/ICPC NEERC 2009，UVa1592）
输入一个n行m列的数据库（1≤n≤10000，1≤i≤10），是否存在两个不同行r1，r2和两个
不同列c1，c2，使得这两行和这两列相同（即（r1，c1）和（r2，c1）相同，（r1，c2）和
（r2，c2）相同）。例如，对于如图5-3所示的数据库，第2、3行和第2、3列满足要求。
Sample Input
3 3
How to compete in ACM ICPC,Peter,peter@neerc.if.]]></description><category></category></item><item><title><![CDATA[UVA 10562 - Undraw the Trees(看图写树) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/108952921</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/108952921</guid><author>su_cicada</author><pubDate>Wed, 07 Oct 2020 17:17:28 +0800</pubDate><description><![CDATA[例题6-17 看图写树（Undraw the Trees, UVa 10562）
你的任务是将多叉树转化为括号表示法。如图6-16所示，每个结点用除了“-”、“|”和空格
的其他字符表示，每个非叶结点的正下方总会有一个“|”字符，然后下方是一排“-”字符，恰
好覆盖所有子结点的上方。单独的一行“#”为数据结束标记。

Sample Input

2
    A
    |
--------
B   C  D
    |  |
 ----- -
 E   F G
#
e
|
----
f g
#

Samp.]]></description><category></category></item><item><title><![CDATA[UVA 10129 - Play on Words (单词) By SuCicada]]></title><link>https://blog.youkuaiyun.com/su_cicada/article/details/108924365</link><guid>https://blog.youkuaiyun.com/su_cicada/article/details/108924365</guid><author>su_cicada</author><pubDate>Wed, 07 Oct 2020 17:03:47 +0800</pubDate><description><![CDATA[例题6-16 单词（Play On Words, UVa 10129）
输入n（n≤100000）个单词，是否可以把所有这些单词排成一个序列，使得每个单词的
第一个字母和上一个单词的最后一个字母相同（例如acm、malform、mouse）。每个单词最多包含1000个小写字母。输入中可以有重复单词。
Sample Input
3
2
acm
ibm
3
acm
malform
mouse
2
ok
ok
Sample Output
The door cannot be opened.
Ordering i.]]></description><category></category></item></channel></rss>