题目链接 根据题意,把值变换成数的个数,这样就变成了求最长非递减子序列,这里用O(n*log(n))的办法 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N =200005; const int INF =1e9+5; ll a; ll v; ll t; vector<ll> num; //LIS O(n*log(n)); int getLISLength( int length) { vector<ll> ivec; ivec.clear(); for(int i = 0; i < length; ++i) { if (ivec.size() == 0 || ivec.back() <= num[i]) ivec.push_back(num[i]); else { 继续阅读 >>


楚东方 17/09/25 15:00:20
题目链接 因为n只到20,直接利用二进制的位运算暴力解决,1代表有该元素,0代表没有该元素 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; double m; stringstream ss; string s; int t; int c[55]; int sum=0; int main() { // freopen("data.txt","r",stdin); ios_base::sync_with_stdio(false); memset(c,0,sizeof(c)); getline(cin,s); ss<<s; ss>>n>>m; while(getline(cin,s)) { ss.clear(); ss<<s; while(ss >> t) { 继续阅读 >>


楚东方 17/09/25 10:58:58
题目链接 由题意,直接进行区间加减 #include<bits/stdc++.h> using namespace std; typedef long long ll; struct node{ int l; int r; int k; bool operator<(const node x) { if(l==x.l) return r<x.r; return l< x.l; } }; vector<node> a; node nt; int num[105]; int n; int main() { // freopen("data.txt","r",stdin); while(~scanf("%d",&n)) { if(n==0) break; memset(num,0,sizeof(num)); fo 继续阅读 >>


楚东方 17/09/25 08:56:30
题目链接 会了组成原理,这就道水题 详见https://wenku.baidu.com/view/6ad6e27f76c66137ee061990.html #include<bits/stdc++.h> using namespace std; typedef long long ll; ll a[(1<<6)+1]; char s[100]; int main() { // freopen("data.txt","r",stdin); // ios_base::sync_with_stdio(false); ll ct=0,ct1=0; for(int i=0;i<(1<<6);i++) { a[i]=-1; } while(~scanf("%s",s)) { if(strcmp(s,"END")==0) break; ct++; int len=str 继续阅读 >>


楚东方 17/09/24 21:52:49
题目链接 几何加公式题,利用余弦定理求角的余弦值,进而求解 #include<bits/stdc++.h> using namespace std; typedef long long ll; const long double pi = acos(-1.0); long double R; int k,l; long double ans[11]; int main() { // freopen("data.txt","r",stdin); // ios_base::sync_with_stdio(false); cin >>l>>R; ans[1] = R/(sin(pi/3))-R; long double ra = cos(pi/3); long double a,b,c,x; for(int i=2;i<=10;i++) { a = ans[i-1]; x = (2*a*a+2*a*R-2*a*(a 继续阅读 >>


楚东方 17/09/24 21:44:30
题目链接 模拟+BFS+康拓展开,此题的数据比较水,如果n为9就GG了 #include<bits/stdc++.h> using namespace std; typedef long long ll; vector<int> mm[500005]; int vis[500005]; int n; ll sum =0; int a[11]; int b[11]; int fac[] = {1,1,2,6,24,120,720,5040,40320}; //i的阶乘为fac[i] // 康托展开-> 表示数字a是 a的全排列中从小到大排,排第几 // n表示1~n个数 a数组表示数字。 int kangtuo() { int i,j,t,sum; sum=0; for( i=0; i<n ;++i) { t=0; for(j=i+1;j<n;++j) if( a[i]>a[j] ) 继续阅读 >>


楚东方 17/09/24 21:41:49
0x01 前言 用过Django的小伙伴都知道,Django的ORM是自带的,比较特殊,而且集成了很多功能,比如数据库迁移… 何为ORM,个人之见解,简化sql语句的书写,将关系型数据库的一张张表转化为了python的类,最大的好处是简化了学习成本,不会sql语句的程序员也能平滑的使用数据库,并且天生防sql注入。flask可以使用SQLAlchemy,包名为flask-sqlalchemy.至于具体用法翻译的官方文档讲的也足够清楚。大家直接谷歌跟着文档就能搞定,本篇主要讲如何进行数据库迁移。 flask的小工具 大家从Django转至Flask最明显的一个差异就是,flask直接运行就可以启动服务,Django是使用了runserver来进行运行。至于好坏大家自行斟酌。这里提一个插件。flask-script。pip安装即可。 from flask_script import Manager ...... manager = Manager(app) ...... #app.run() #注释这句 manager.run() 这样,启动的方式 继续阅读 >>


李余通 17/09/24 20:05:11
Longest Ordered Subsequence Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 55383   Accepted: 24836 Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK), where 1 <= i1 < i2 < ... < iK<= N. For exa 继续阅读 >>


殷健翔 17/09/24 19:37:17
介绍 c语言风格的注释为块注释,c++风格为行注释。 /*块注释*/ //行注释 在项目中人们喜欢用不同风格的注释,或者两种风格的注释混用,这并不影响代码的功能,但是在一些工具当中要求代码的注释风格统一为c或者c++风格。 所以写了一个处理文件注释的代码。 分析 我们使用了状态机的概念,即在对文件中各个字符检测的时候遇到特定的字符对全局变量赋不同的状态值,来代表代码所处的状态,下面为不同状态间相互转换的示意图。 例如 //Xi/*You*/Linux//Group 首先检测到了”//”这两个字符,进入c++状态,我们将”//”替换为”/* “然后将后面的”/ “,” /”,”//”换成两个空格代替,然后在最后加上”*/”.转换后如下 /*Xi You Linux Group*/ c语言状态下同理。 需要注意的是还有一种状态是引号的状态,在图中并未列出,在” “中的两种注释风格的注释都是无效的,它们被当作字符串处理,所以在” “中的注释的字符原样输出并不进行处理 代码 convertcomment.h #if 继续阅读 >>


李佳灏 17/09/24 16:09:40
最近打算通过学校的某某系统抓取一下每个学生的个人信息,由于需要进行模拟登录,所以就要对登录页面进行post参数的提交。但是在进行网络抓包的过程中,使用chrome自带的网络抓包分析工具(也就是F12)发现每次在进行登录提交表格之后,chrome并不能将所需要提交的参数表单抓取下来。 问了学长原因,觉得是登录成功之后因为页面的跳转需要进行刷新,所以就将表单提交的那部分数据给刷掉了。学长提供的解决办法是使用fiddler网络抓包工具进行抓包及分析。但在查阅相关资料之后发现fiddler对Linux操作系统(本人开发环境Ubuntu 16.04)的支持并不是很好。所以我使用了tcpdump进行网络抓包,结合wireshark进行数据包的分析。 需求如下: 如图,提交登录表单的页面,然后使用chrome自带抓包工具进行网络抓包: 这里面并没有我想要的东西。 tcpdump的使用 tcpdump [-i 网卡] -nnAX ‘表达式’ 各参数说明如下: -i:interface 监听的网卡。 -nn:表示以ip和por 继续阅读 >>


董恒毅 17/09/24 16:00:03