孙肖宁 发布的文章

1.首先下载国际版的压缩包,想安装的可以找博主要
2.安装

  • 安装依赖库

    sudo apt-get install libgtk2.0-0:i386
    sudo apt-get install lib32ncurses5

  • 在解压后的目录里面打开终端

输入

sudo dpkg -i wine-qqintl_0.1.3-2_i386.deb
  • 如果报错

2017-11-05 10-29-19屏幕截图.png
就输入

sudo apt-get install -f
  • 然后再执行

    sudo dpkg -i wine-qqintl_0.1.3-2_i386.deb

  • 再继续输入

    sudo dpkg -i ttf-wqy-microhei_0.2.0-beta-2_all.deb
    sudo dpkg -i fonts-wqy-microhei_0.2.0-beta-2_all.deb

到这里我们就可以成功使用QQ了
但是小编发现该版本的QQ只能使用9位数的扣扣号,对于喜欢linux的小编已经很知足了。

1.首先下载linux版的搜狗输入法,我这里已经下好了,直接上网找就可以。
2.安装
找到安装包,在该位置打开命令行,输入

sudo dpkg -i sogoupnyin_2.2.0.0102_amd64.deb(你的包名)

或许会报缺少依赖
2017-11-05 10-06-22屏幕截图.png
只要输入

sudo apt-get  install  -f

再执行

sudo dpkg -i sogoupnyin_2.2.0.0102_amd64.deb(你的包名)

然后注销一下你的电脑,再登录就会发现搜狗输入法了

卸载libreoffices

sudo apt-get remove libreoffice-common

卸载Amazon的链接

sudo apt-get remove unity-webapps-common

卸载一些预装软件

sudo apt-get remove thunderbird totem rhythmbox empathy brasero simple-scan gnome-mahjongg aisleriot gnome-mines cheese transmission-common gnome-orca webbrowser-app gnome-sudoku landscape-client-ui-install
sudo apt-get remove onboard deja-dup 

附:导航栏放在底部

gsettings set com.canonical.Unity.Launcher launcher-position Bottom

点击图标最小化

gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-minimize-window true

18.04点击图标最小化
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

安装php5.6

添加源

sudo add-apt-repository ppa:ondrej/php 

安装php5.6

sudo apt-get update  
sudo apt-get install php5.6  
sudo apt-get install libapache2-mod-php5.6  
sudo apt-get install php5.6-mysql php5.6-mbstring php5.6-mcrypt php5.6-xml  

版本切换

1.从PHP 5.6 切换到 PHP 7.0

sudo a2dismod php5.6
sudo a2enmod php7.0
sudo service apache2 restart
update-alternatives --set php /usr/bin/php7.1

2.从PHP7.0切换到5.6

sudo a2dismod php7.0
sudo a2enmod php5.6
sudo service apache2 restart
sudo update-alternatives --set php /usr/bin/php5.6

eclipse

1.创建原理
UBuntu的菜单图标保存在/usr/share/applications目录下,所以先在该目录下建一个eclipse.desktop文件

sudo gedit /usr/share/applications/eclipse.desktop

2.在文件中写入以下内容

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse   #图标名字,自己可以任意定义
Comment=Eclipse IDE
Exec=/home/sunxiaoning/software/eclipse/eclipse      #Eclipse文件夹下eclipse的路径 
Icon=/home/sunxiaoning/software/eclipse/icon.xpm     #Eclipse文件夹下图标icon.xpm的路径
Terminal=false     #软件打开时是否启动终端
StartupNotify=true
Type=Application
Categories=Application;Development;

进入/usr/share/applications 将相应图标右键复制到桌面即可,也可以拖拉到状态栏,选择固定在任务栏

Sublime Text3

1.创建文件

sudo gedit /usr/share/applications/Sublime_Text_3.desktop

2.在文件中写入以下内容

[Desktop Entry]
Encoding=UTF-8
Name=Sublime Text
Comment=The Smarter Way to Code
Exec=/home/sunxiaoning/software/sublime_text_3/sublime_text
Icon=/home/sunxiaoning/software/sublime_text_3/Icon/32x32/sublime-text.png
Terminal=false   
StartupNotify=true
Type=Application
Categories=Application;Development;

进入/usr/share/applications 将相应图标右键复制到桌面即可,也可以拖拉到状态栏,选择固定在任务栏

1.安装adb

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb

2.配置adb环境变量

打开配置文件

sudo gedit /etc/profile

配置adb环境,在文件后面追加

#set path for android sdk tools
export PATH=$PATH:/你的SDK路径/tools/
export PATH=$PATH:/你的SDK路径/platform-tools/

配置java环境,在后面继续追加

#set java environment
JAVA_HOME=/home/loginname/jdk路径
JRE_HOME=/home/loginname/jdk路径/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=/home/loginname/android-sdk-linux_86/tools:$PATH

附:安装jdk1.8

sudo apt-get update
sudo apt-get install openjdk-8-jdk

查看jdk的路径

which java
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java

2017-11-03 18-25-41屏幕截图.png

配置之后的文件
2017-11-03 18-29-16屏幕截图.png

保存后,重启电脑,打开终端
输入adb之后,显示如下画面则证明成功
2017-11-03 18-36-50屏幕截图.png

第一步:配置HUSTOJ运行所需要的环境

详情请见
Ubuntu 16.04搭建LAMP开发环境

第二步:更新数据

sudo apt-get update 

第三步:安装svn:

sudo apt-get install subversion 

安装过程中,遇到提示,选择“Y”即可

第四步:下载源代码

sudo svn co https://github.com/zhblue/hustoj/branches/php7/trunk/install hustoj

第五步:跳转到安装目录:

cd hustoj 

第六部:执行安装脚本,自动安装

sudo bash install-interactive.sh

安装过程中需要输入数据库的用户名和密码,遇到提示,输入“Y”即可

第七部:测试

安装完毕后,输入oj安装完毕 输入 http://你的服务器IP/JudgeOnline/,出现如下画面,则证明安装成功
HUSTOJ.png

第八步:设置用户

  • 首先我们先注册一个普通用户
    点击 登录->z注册
    填入信息后,注册即可
  • 设置管理员
    进入数据库

    mysql -u root -p

然后输入数据库的密码
查看所有数据库

show databases;

QQ截图20171022115107.png
使用jol数据库

use jol;

设置管理员

insert into privilege(user_id,rightstr)values('admin','administrator');

admin是你刚才注册的那个用户名
退出数据库exit

注意:先注销掉上次的登录,再进行登录,这样就可以有管理后台的权限了。

第九步:启动判题机

sudo judged

第十步:安装 pascal 和 java 编译器

hustoj 安装完默认只能判 c 和 c++代码

sudo apt-get install default-jdk
sudo apt-get install fpc

第一步:更新源

sudo apt-get update

第二步:安装vim编辑器

sudo apt-get install vim

遇到提示,选择"Y"即可

第三步:安装Apache

sudo apt-get install apache2

遇到提示,选择"Y"即可
安装结束后,通过ifconfig产看本机ip,如图:
QQ截图20171022100857.png

然后在浏览器中输入ip,出现以下画面则证明安装成功
Apache2 Ubuntu Default Page_ It works.png

第四步:安装MySQL

sudo apt-get install mysql-server mysql-client

遇到提示,选择"Y"即可,在安装过程中需要输入root用户的密码,输入两次
安装结束后输入:mysql -u root -p然后输入你的root密码,回车后出现如下画面,则证明成功:
QQ截图20171021121339.png

输入exit退出mysql

第五步:安装PHP

sudo apt-get install php7.0

遇到提示,选择"Y"即可,输入php7.0 -v出现以下画面则证明成功
QQ截图20171021121629.png

第六步:安装其他模块

  1. 使得Apache能够解析PHP,php可以操纵数据库

    sudo apt-get install libapache2-mod-php7.0
    sudo apt-get install php7.0-mysql

  2. 重启服务(此过程中需要输入你服务器用户的密码)

    service apache2 restart
    service mysql restart

  3. 测试
  • 更改文件夹权限

    sudo chmod 777 /var/www
    sudo chmod 777 /var/www/html

  • 创建测试文件(vim的使用

    vim /var/www/html/phpinfo.php

    • 文件中写入

      <?php echo phpinfo();?>

  • 用你的浏览器打开:http://你的ip/phpinfo.php,出现PHP一下画面,则郑证明安装成功了

QQ截图20171022103651.png

至此LAMP开发环境安装成功

题目

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。

得到“答案正确”的条件是:

  1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;
  2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;
  3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。

现在就请你为PAT写一个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。
输入格式: 每个测试输入包含1个测试用例。第1行给出一个自然数n (<10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过100,且不包含空格。

输出格式:每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出YES,否则输出NO。

输入样例:
8
PAT
PAAT
AAPATAA
AAPAATAAAA
xPATx
PT
Whatever
APAAATAA
输出样例:
YES
YES
YES
YES
NO
NO
NO
NO

代码示例及解析

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{
    static Scanner sc;
    public static void main(String[] args) {
        sc = new Scanner(System.in);
        int a = sc.nextInt();
        if(a<10)//由题意可知,第1行给出一个自然数n (<10),是需要检测的字符串个数。
            arr(a);
        
    }
    //定义一个函数,实现判断
    public static void arr(int f) {
        
        List<String> al = new ArrayList<String>();
        int i=1;
        while(i<=f) {
            String s= sc.next();
            al.add(s);
            i++;
        }
        //输出集合中的所有字符串
        for (String string : al) {
            int a=0,p=0,t=0,p1=0,t1=0;//定义一些变量,用来判别字符个数
            char [] s = string.toCharArray(); //字符串转换成字符数组
            //遍历每个字符数组,判断输出什么
            for (char str : s) {
                /**
                 * 确定只有PAT三个字符,否则直接输出“NO”,同时确定3个位置A的个数
                 * 有题可知P前面吗A的个数乘以PT之间A的个数等于T后面A的个数
                 * p代表P前面Ade个数,t代表PT之间A的个数,a代表T后面A的个数
                 * 所以t*p==a
                 * p1,t2用来判断P和T的个数是不是1
                 */
                if(str=='A'||str=='P'||str=='T') {
                    if('A'==str) {
                        a++;
                    }else if('P'==str) {
                        p1++;
                        p=a;
                        a=0;
                        
                    }else if(('T'==str)&&(p1==1)) {//P必须在T的前面
                        t1++;
                        t=a;
                        a=0;
                        
                    }
                }else {
                    break;
                }
            }
            if((t*p==a)&&(a!=0||p!=0||t!=0)&&(p1==1&&t1==1)) {
                System.out.println("YES");
            }else {
                System.out.println("NO");
            }
            
        }
    }
}

Python实现

#!/usr/bin/python
n = input()
i = 0

str_list = []
while i<n:
    i = i+1
    s = raw_input()
    str_list.append(s)

for item in str_list:
    p = 0
    a = 0
    t = 0
    aa = 0
    ap = 0
    at = 0
    if 'P' not in item or 'A' not in item or 'T' not in item:
        print('NO')
        continue
    for i in item:
        if i not in 'PAT':
            p=a=t=0
            break
        if i == 'A' :
            a=a+1
        elif i == 'P':
            p=p+1
        elif i == 'T':
            t=t+1
        if i == 'A' and p==0 and t==0:
            aa=aa+1
        elif i=='A' and p==1 and t==0:
            ap=ap+1
        elif i=='A' and t==1:
            at=at+1
    if p==1 and a>0 and t==1 and aa*ap==at:
        print('YES')
    else:
        print('NO')

初始化

1.初始化git项目
在要上传的文件夹内,右键鼠标,选择git Bash Here在打开的命令窗口输入以下命令:

git init

回车后将在该文件夹内生成一个.git的隐藏文件夹。
2.在github上创建一个项目
选择New repository
QQ截图20171015085604.png

填入项目的名字与简介,并且勾选Initialize this repository with a README

QQ截图20171015085951.png

点击Create repository完成

点击 Clone or download复制下面的连接
QQ截图20171015090755.png

3.添加远程地址

在与github连接成功后,就需要添加远程地址,从而让我们的本地项目顺利到达对应的仓库,实现远程与本地相连接。
打开终端,输入(把刚才复制的链接替换掉)

git remote add origin git@github.com:yourName/yourRepo.git

初次上传项目

1.将远程仓库与本地库合并

git pull --rebase origin master

2.上传所有

git add .

3.添加注释并上传到缓存区

git commit -m  '本次提交注释'

4.提交并上传代码,第一次提交加上’-u’,强制上传,以后再次提交的时候可以省略。

git push -u origin master

以后上传项目

1.上传所有

git add .

2.添加注释并上传到缓存区

git commit -m  '本次提交注释'

3.提交并上传代码

git push origin master