一、刷题
哈哈哈哈,昨天要求的题数降了,今天我只要再交一个题就好了,从那个题下手呢?还是对牛桑下手吧
F题:
个人体会思路
转变一下思路,昨天交的dp时间复杂度是O(N*2),是过不了滴,怎么才能把时间复杂度弄下去呢,请教了一下实验室的大佬,发现要用二分解决。思路瞬间清晰了。
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
int a[1010005];
int f[1010005];
bool OK(int mid,int i)
{
if (a[i] <= f[mid])
{
return true;
}
else
return false;
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
int ans = 1;
f[1] = a[1];
for (int i = 2; i <= n; i++)
{
int mid ;
int l = 1, r = ans;
while (l <= r)
{
mid = l + (r - l) / 2;
if (OK(mid,i))
r = mid - 1;
else
l = mid + 1;
}
f[l] = a[i];
if (l > ans)
{
++ans;
}
}
cout << ans << endl;
return 0;
}
二、Java学习
①File类
package com.company;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException
{
// write your code here
File f1 = new File("G:\\yyds\\java.txt");
System.out.println(f1.createNewFile());
File f2 = new File("G:\\yyds\\JavaSE");
System.out.println(f2.mkdir());
File f3 = new File("G:\\yyds\\JavaWEB\\html");
System.out.println(f3.mkdirs());
File f4 = new File("G:\\yyds\\javase.txt");
System.out.println(f4.createNewFile());
}
}
个人体会
createnewfile:创建新文件
mkdir:创建文件夹
mkdirs:创建一堆文件夹
注意一个点:创建于文件夹同名的文件用这个是不行的
②File类的判断和获取功能
个人体会
这些就是判断文件类型的,了解一下就好,写项目的时候也应该很少机会用的到
③File类的删除功能
绝对路径,相对路径
个人体会
注意一个点:要是目录中有内容,要先删内容再删文件夹
④字节流读写数据
在昨天的总结里
三、个人心得体会
这周大部分时间花在了刷题上,Java学习的进度也一拖再拖,为了赶进度,Java我只挑了我认为重要的部分去看了看了。可能中间会遗漏一些重要的点,离规定的时间一周半越来越近了,为了不耽误后面项目的进度,遗漏的点只有慢慢的补了。