2019 预算/目标

计数名称价格购买原因个数
1weebil稳定器3000画⾯增稳⽤的利器,以前我的视频⼿总是在抖来抖去,此后就再也不会有这个问题。⽽这个产品是最时候旅拍的和最轻便的。1
2a7r420000画质像素王者,虽然还没有出,但索尼制造必属精品。⾃从相机变成了像⼿机⼀样的电⼦产品以后就更新换代⽐较快了,但凡事都有⼀个终极形态,⽐如这个,18K视频,⼀定会使它更具魅⼒。
3腾⻰标准变焦镜头28-754000专⻔为全画幅相机设计的轻便且画质不错的镜头1
4镜头355000⼀直⼈⽂焦段,适合扫街和拍⼈像。1
5托福考试2000出国留学必备考试1
6gre学习8000在托福考试拿下后搞定1
7树莓π及ros学习1000tpu是张量计算的王者1
8⽇本旅游7999初定在第⼆学期和第三学期之间。1
9会员⽹站运维⽀出300这个是⼀笔很⼤的开销了。1
10笔记本8000等今年年底明年年初的时候再买,主要是有1amd最新或者intel最新的cpu的轻薄本就ok。
11workstation100001深度学习和剪视频


本学期的目标
1. 托福
2. gpa3.7
3. 小project 3-7(硬软结合)
4. vlog3-7

Continue reading "2019 预算/目标"

新学期内卷指南

开学后的第一天。早上去报道,本来以为自己很完美的get到了邮箱的意思并完成了网上离校💕手续,但没有提交。被扣留在某地完成抄写一份,非常无奈。

之后去了SI100的教室,不就是个吹逼讲座课嘛,结果还需要做quiz,quiz的内容和做阅读理解差不多,总的来说就是教授帮忙解读这个领域里面最具代表性的综述性论文而已,但是更新速度很快,能到最近几个月的。虽然对于计算机来说也算是老论文了。

电路这周六开始上。

吃中饭的时候看了眼我的cs100,挂了,我选择和学长一样在大四重修。学校的给分制度还是非常的规范和不讲道理的。我觉得就是因为annotation导致的不及格。不过也好,反正最后也会是惨不忍睹。这学期已经够差了,何患无辞。

2022.1.29 update cs100 没有挂,室友挂了。还是拿到B+,第二学期遇到张龙文后变得很仰慕。

php 问题总结

脚本语言的通病

  • 弱类型语言
$a = 1;
$b = array();
$c = "test";

<?php
  $a = null; $b = false;  
  if($a == $b){  
      echo “a和b相等!”;  
  }else{  
      echo “a和b不相等!”;  
  }  
  $a = ''; $b = 0; 
  if($a == $b){  
      echo “a和b相等!”;  
  }else{  
      echo “a和b不相等!”;  
  }  
?>
  • require( )包含文件 可以文件注入
<form>Choose theme:
    <select name = theme>
        <option value = blue>Blue</option>
        <option value = green>Green</option>
        <option value = red>Red</option>
    </select>
    <input type = submit>
</form>
<?php
    if($theme) {
        require($theme.'.txt');
    }
?>
  • sql 注入 拼装字符串,addslashes/stripslashes防御
$sql =”select * from phpben where user_name=’admin’ and pwd =’123′”;  
$sql =”select * from phpben where user_name=’ ‘or’=’or” and pwd =” “;  
$sql =”select * from phpben where user_name=’ ‘or 1=’1′ and pwd =” “;
  • Xss攻击
<body>
<?php
$searchQuery = $_GET['q'];
/* some search magic here */
?>
<h1>You searched for: <?php echo $searchQuery; ?></h1>
<p>We found: Absolutely nothing because this is a demo</p>
</body>

直接打 search.php?q=%3Cscript%3Ealert(1)%3B%3C%2Fscript%3E

Reference

  1. https://www.kancloud.cn/chunyu/php_basic_knowledge/840701
  2. https://www.cnblogs.com/Renyi-Fan/p/10856650.html#_label0_1
  3. https://www.runoob.com/w3cnote/php-safe-collection.html
  4. https://www.oschina.net/translate/top-6-security-attacks-php?print

P5003 跳舞的线 - 乱拐弯

这道DP有点精妙~,大概最优子结构的转移函数写法长这样:

$$f_{max,i,j,0}=max(f_{max,i,j-1,0},f_{max,i,j-1,1}+1)$$

$$f_{max,i,j,1}=max(f_{max,i-1,j,0}+1,f_{max,i-1,j,1})$$

$$f_{min,i,j,0}=max(f_{min,i,j-1,0},f_{min,i,j-1,1}+1)$$

$$f_{min,i,j,1}=max(f_{min,i-1,j,0}+1,f_{min,i-1,j,1})$$

为了防止在起始点拐弯,最好的办法是-1越界。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define re register int 
#define LL long long 
using namespace std;
int n,m;
int f[1010][1010][2],g[1010][1010][2];
char a[1010][1010];
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	for(int j=1;j<=m;j++)
	cin>>a[i][j];
	memset(f,63,sizeof(f));
	if(a[1][1]=='#'){cout<<-1;return 0;}
	g[1][1][0]=g[1][1][1]=0;
	f[1][1][0]=f[1][1][1]=0;//0 left 1 down
	for(int i=1;i<=m;i++)g[0][i][1]=g[0][i][0]=-2147483647;
	for(int i=1;i<=n;i++)g[i][0][1]=g[i][0][0]=-2147483647;
	for(int i=1;i<=n;i++)
	for(int j=1;j<=m;j++)
	if(a[i][j]=='o')
	{
		if(i==1&&j==1)continue;
		g[i][j][1]=max(g[i-1][j][1],g[i][j-1][0]+1);
		f[i][j][1]=min(f[i-1][j][1],f[i][j-1][0]+1);
		g[i][j][0]=max(g[i-1][j][1]+1,g[i][j-1][0]);
		f[i][j][0]=min(f[i-1][j][1]+1,f[i][j-1][0]);
	}
	int Ansa=max(g[n][m][1],g[n][m][0]);
	int Ansb=min(f[n][m][1],f[n][m][0]);
	if(Ansb>n+m-2)cout<<-1<<endl;
	else cout<<Ansa-1<<" "<<Ansb<<endl;
	return 0;
}

linux编译出现 (.text+0x20):对‘main’未定义的引用 collect2: 错误:ld 返回 1 | (.text+0x20): undefined reference to `main' and undefined reference to function 解决方法

操作系统:ubuntu18.04 hpbook2000 gcc版本7.3.0

首先借鉴了国内网站,但大多说的是Makefile 很奇怪,我以为是源码编译的时候的问题但大家都是用”apt install gcc && apt install g++“来安装的,按说是不会出现这种错误的。我那时比较幼稚,就傻吼吼的等了一天源码编译gcc。

搞定了也没用,照样提示以上错误。那怎么办,听网上说只要把main 改成_start 或者不是main的函数名就ok了。又有人说最最主要的原因是Scrt1.o的main函数名定义在了使用它的前面所以报错。好吧,我就算知道也没法改.o文件怎么办。

网上又说有个可以痛改前非的办法,在gcc&g++加个-nostdlib或-nostartfile参数就可以。编译完说内核缺失,错的更离谱了。还有segmentation fault 搞笑。


最终解决办法

cd /usr/lib/ && cp crt1.o Scrt1.o

没有的话就编译一遍gcc就有了。g++和gcc是连带关系所以一并解决。