manjaro安(zhe)装(teng)记

噫。。之前x200上装的是win7+fedora25 gnome。。。

虽然感觉gnome对于09年的老电脑来说有点吃力…不过也懒得换..

结果硬盘挂了2333 于是换了块硬盘

以及被人安利了manjaro,一个基于arch的linux发行版

还有就是因为平安夜又没有代码可以写又没有妹子可以陪觉得人生寂寞如雪

官网下好镜像以后,一开始用dd命令做u盘,发现启动不了。

无奈到win下用了poweriso制作,成功。

安装很顺利…基本就是傻瓜操作…

装好以后…装了vim…shadowsocks…chrome…fish…搜狗输入法。。。

添加了archcn的源

发现不能切换输入法。。。

解决办法:

其他都挺顺利的。。

结果今天用着用着发现renkz2011这账户无法登录了。。。提示密码错误。。。

root账户是可以登录的。。。

于是我跑到root下登录。。。是可以的。。。

于是改了下renkz2011的密码。。。发现依然提示错误。。。

但是呢。。。我在root下做需要renkz2011权限的事情。。。输入密码就是没有问题的。。

我新建了一个账户。。。发现登录也没有问题。。。

奇怪啊。。。回想一下。。。我改了什么。。。

添加了archcn的源。。。

应该没关系。。。

还有就是。。。remove了zsh..?

于是我尝试着重新装回zsh…

再登录。。发现可以了。。。

回想一下。。。我在renkz2011账户下曾经设置默认shell为zsh…

卸载以后好像忘记更改了orz

但是。。。为什么和shell有关呢。。。

 

编译原理实验:词法分析器

实验一 设计实现简单语言的词法分析器

1、实验目的

通过该实验,熟练应用编译原理关于词法分析的基本理论和方法;学会用C/C++高级程序设计语言设计一个词法分析器;加深对编译原理理论的分析理解,提高实际操作和解决具体问题的能力。

2、实验条件

计算机上安装C/C++编译处理软件。

3、实验内容及要求

对下述单词表定义的语言设计编制一个词法分析器。单词符号及种别表和词法分析器功能及基本要求如下:

(1)单词符号及种别表

单词符号 种别编码 单词值
main 1
int 2
float 3
double 4
char 5
if 6
else 7
do 8
while 9
l(l|d)* 10 内部字符串
 ( +|-|ε ) dd*(.dd* | ε)( e ( +|-|ε ) dd*|ε) 20 二进制数值表示
= 21
+ 22
23
* 24
/ 25
( 26
) 27
{ 28
} 29
, 30
; 31
> 32
>= 33
< 34
<= 35
== 36
!= 37
# 0

(2)词法分析器功能及基本要求

处理用户提交的符合上述词法的源代码序列,进行词法分析,并输出单词二元组。

4、主要参考步骤

(1)画出识别上述语言单词的状态转换图

(2)用C/C++语言编写词法分析程序(应考虑能被语法分析程序调用)

(3)预处理,去除注释、多余空格、Tab字符、回车换行符等

(4)设计若干用例,上机测试并通过所设计实现的词法分析器

  1. +++-123.456e-127*+45.99e+200++abc+-cnt++49
  2. (+123.456+-456.789e-120)*m2+(a++456)*-c123
  3. ++4+1.4
  4. a+-149+49.7e+127+m123
  5. x=a++1.27e+18
  6. –20+-124.987e+127+-xyz

begin  if(x>=-1.27e-18) xyz=(x1+y1)* -124.987e+127

  1. –20+-124. e+111-137++569.246e+(123+ivar);

x=1;if(x>1) y=1234; x=(123+abc); (本例应有出错信息)

5、思考

数字的正负号与运算符加减如何处理,识别数字的DFA怎样和运算符加减等融合在一起,进而指导词法分析器的程序编写。

6、实验报告提交格式

(1) 总体设计思想

(2) 详细算法设计

(3) 流程框图

(4) 函数相关说明

(5) 输入与输出(包括出错处理)

(6) 程序运行结果(屏幕截图)

(7) 词法分析器使用说明

(8) 心得与体会

(9) 源程序清单

 

 

——————————————————————————————————————————————————————————————————————————————

主要时间卡在了double转二进制上…

有的人说需要转,有的人说不需要orz

我能想到的办法。。大概就是要高精度+手动实现itof?

一点也不美啊。。。求好看的方法orz

一些计划。。。

感觉owncloud的确很赞的样子。。。

小电影什么的。。我倒是需求不大。。。

不过作为同步盘感觉蛮赞的。。。

然而现在手头的服务器。。。除了论坛的vultr…都不是辣么有名的公司貌似。。。(国内的阿里云就算了。。。

所以现在的计划是。。。

等明年8月班瓦工到期。。。以及。。。不知道什么时候说不定就会tj的论坛。。。

打算买一个好一点的服务器orz,ss,owncloud,博客也搬过去吧…

codeforces #382 div 2 E. Ostap and Tree (树形dp)

题目链接

题意:将一棵树的若干点染成黑色,要求满足对于任何一个点u,至少存在一个距离其k以内的点v被染成黑色,问染色方案数。

思路:还没完全搞懂。。。记录一些idea…

qq%e5%9b%be%e7%89%8720161201213929

qq%e5%9b%be%e7%89%8720161201214138

 

参考题解

以及:该题解中说的children指的是子树全体。。。坑死好吗。。。坑了一晚上。。气啊。

 

定义状态f[i][j]:以i为根的子树中,能向上贡献j个单位/需要外界往内填补j个单位,方案数

如果是贡献,j为负数

转移的话,考虑不断合并子树,假如说当前处理x为根的子树

不妨把它的儿子按照输入顺序从左往右编号1~N
一开始到x的时候,初始状态f[x][-k] = f[x][1] = 1 
然后不断把儿子的信息合并给x
做法是x与儿子枚举每一个可能的j值然后判断一下这样的状态转移后如何,添加到辅助数组里
最后把辅助数组的值copy给f[x],,