down

【六 处理JSON】 1. JSON基础

浪尽此生 提交于 2019-12-02 17:22:29
JSON基础 现代的web应用一般都面临大量的JSON(JavaScript Object Notation)格式的数据操作。为此Play提供了 JSON 库。 JSON是一种轻量级的数据交换格式,一个典型的JSON结构如下所示: { "name" : "Watership Down", "location" : { "lat" : 51.235685, "long" : -1.309197 }, "residents" : [ { "name" : "Fiver", "age" : 4, "role" : null }, { "name" : "Bigwig", "age" : 6, "role" : "Owsla" } ] } 点击 这里 查看有关JSON的更多信息。 Play的JSON库 play.api.libs.json 包中提供了构造JSON数据的数据结构及转换数据的工具类。此package提供了如下功能: 自动转换 :从case class和json相互转换的模板代码。可以从这里入手来快速开始。 自定义逻辑校验 自动解析 :从request body中解析JSON,遇到异常的JSON格式或者不正确的content-type头时会自动产生错误。 此JSON库也可以脱离Play框架独立使用。只需要在sbt文件中加入:libraryDependencies += "com

HDU6592 Beauty Of Unimodal Sequence

99封情书 提交于 2019-12-02 03:34:37
Beauty Of Unimodal Sequence 给一个序列,在满足单调递增或者单调递减或者先增后减的最长子序列集合里找到下标字典序最大以及最小的两个子序列,输出这两个子序列里元素的下标。 n≤3×10 5 moomhxy 的题解 先正着求一遍LIS,再反着求一遍LIS,求出每个点作为上升子序列结尾的最大长度和每个点作为下降子序列开头的最大长度。 我们可以枚举这个单峰序列的峰顶是什么,这样最长长度就找到了。 然后考虑怎么构造解。 求字典序最小的话,首先找到第一个顶峰,然后往前找递减的序列中下标较小的,往后就依次找,这样能保证字典序最小。 如何找这个下标较小的呢?显然我们希望每种结尾长度的点都越靠前越好。所以用单调栈维护即可。 最大的话找到最后一个顶峰,往前是依次找,往后是找LIS中下标大的。维护方法类似。 时间复杂度 O(n log n),瓶颈在于求LIS。 CO int N=300000+10; int a[N],dp[N],up[N],down[N]; int h[N],st[N],ans[N]; void real_main(int n){ fill(dp,dp+n+1,INT_MAX),dp[0]=0; for(int i=1;i<=n;++i){ read(a[i]); up[i]=lower_bound(dp+1,dp+n+1,a[i])-dp; dp[up[i]

100714G

别说谁变了你拦得住时间么 提交于 2019-12-02 03:17:43
可恶啊这队友又背着我偷偷打比赛 (迷惑发言) 点开发现是个傻逼题,一个小时就施展完了。 题意很简单,在y轴上有一些球,让你求它们的表面积。 一看就直接考虑每个球的贡献吧, 维护一下其他球对这个球造成的影响,然后这个球的贡献就会在[down,up]里,分几种情况求就行了。 不想多分的话可以直接对0取max,比方说down>up这样子。 这队友没板子手写一直wa看得我好心疼啊。 不过 援 圆交手写起来也不难吧。。。(超小声) #include <bits/stdc++.h> using namespace std; typedef double db; const db eps=1e-6; const db pi=acos(-1); int sign(db k){ if (k>eps) return 1; else if (k<-eps) return -1; return 0; } int cmp(db k1,db k2){return sign(k1-k2);} int inmid(db k1,db k2,db k3){return sign(k1-k3)*sign(k2-k3)<=0;}// k3 在 [k1,k2] 内 struct point{ db x,y; point operator + (const point &k1) const{return (point){k1

The connection to adb is down, and a severe error

会有一股神秘感。 提交于 2019-12-01 19:14:16
启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有adb.exe关闭掉.重启eclipse.但试过不管用.所以在外国网站上找到一种可行的方法: 1.先把eclipse关闭. 2.在管理器转到你的android SDK 的platform-tools下, 如图: 3.键入adb kill-server ,如果adb关闭了会提示 server not running * 4.再输入 adb start-server 如果不成功会提示 daemon not running. starting it now on port ***的 而如果成功的话不提示任何语句的.这时再重新打开eclipse就可以正常运行模拟器的了. 还有一种情况,真机调试的时候,你开了腕豆夹,导致端口冲突了,前面一直没留意这个问题 ,解决办法:安装完手机的驱动后,关闭腕豆夹,重启eclipse,应该就可以了。腕豆夹与eclipse一般不同时打开! 来源: oschina 链接: https://my.oschina.net/u/1011854/blog/268348

android中The connection to adb is down,问题和解决

筅森魡賤 提交于 2019-12-01 19:14:06
http://logger.iteye.com/blog/911977 自己总结的在android中常会出现的不好解决的问题和方法 (其中第三个方法经过了四天的折磨。。。。。哎) 1.报错: BUILD FAILED D:\workspace\ganji\build.xml:144: The following error occurred while executing this line: D:\workspace\ganji\build.xml:271: Unable to delete file D:\workspace\ganji\tmp\proguard\tmp.jar 解决: 已经开了一个模拟器了,无法重新编译,必须关闭一个。用于ant 2.报错: The connection to adb is down, and a severe error has occured. 这个问题谁能解决啊 解决: cmd跳到sdk tools文件路径下 adb kill-server 然后再adb start-server 3.报错: The connection to adb is down, and a severe error has occured. [2010-03-11 09:36:56 - HelloOPone] You must restart adb and

source insight的快捷键总结

喜欢而已 提交于 2019-12-01 15:04:51
Exit 退出程序 : Alt+F4 Redraw Screen 重画屏幕 : Ctrl+Alt+Space Back Tab : Shift+Tab Backspace : Shift+BackSpace Complete Symbol 完成语法 : Ctrl+E Copy Line 复制一行 : Ctrl+K Copy Line Right 恰好复制该位置右边的该行的字符 : Ctrl+Shift+K Copy To Clip... : Ctrl+Del Cut Line 剪切一行 : Ctrl+U Cut Line Right 剪切该位置右边的该行的字符 : Ctrl+; Cut To Clip 剪切到剪贴板 : Ctrl+Shift+X Cut Word 剪切一个字 : Ctrl+, Indent Left 左边缩进 : F9 Indent Right 右边缩进 : F10 Insert Line 插入一行 : Ctrl+I Insert New Line 插入新行 : Ctrl+Enter Join Lines 加入一行 : Ctrl+J Paste From Clip 从剪切板粘贴 : Ctrl+Ins Paste Line 粘贴一行 : Ctrl+P Redo 重复上一个动作 : Ctrl+Y Renumber 重新编号 : Ctrl+R Repeat Typing

Source Insight 配置和快捷键

a 夏天 提交于 2019-12-01 14:57:05
技术类别:资源共享 --------http://bbs.ednchina.com/BLOG_ARTICLE_2121351.HTM Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。 作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。 当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。它们的功能是非常强大的。比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置,同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。 为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下

【转】ubuntu或linux网卡配置/etc/network/interfaces

╄→гoц情女王★ 提交于 2019-12-01 07:43:07
转自:https://www.cnblogs.com/qiuxiangmuyu/p/6343841.html 青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的配置文件。当然,Linux系统中的配置文件多如牛毛,青蛙见过配过的也只是寥寥几个。不过,青蛙会把配置过的配置文件尽量详细的介绍一下,一是方便自己以后查阅,二来也是为广大Debianer做贡献了。 下面开始正文。 话说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面,要修改?你一个一个文件来过吧。Debian系的则是存在/etc/network/interfaces文件里面,无论有多少块网卡,统统扔在这个文件里。下面就来看一下这个文件的内容。 首先,一个基本的配置大概是下面这个样子: 1 auto lo 2 iface lo inet loopback 3 4 # The primary network interface 5 auto eth0 6 iface eth0 inet static 7 address 192.168.0.42 8 network 192.168.0.0 9 netmask 255.255.255.0 10 broadcast 192.168.0.255 11 gateway

采用十字链表存储的稀疏矩阵

只愿长相守 提交于 2019-12-01 07:30:56
Description 当矩阵的非零元个数和位置在操作过程中变化较大时,就不宜采用顺序存储的结构来表示三元组的线性表了。因此,在这种情况下,采用链式存储结构表示三元组更为恰当。十字链表就是能够实现这样功能的一种数据结构。 在十字链表中,每个非零元可以用一个包含5个域的结点表示。其中i、j和e这3个域分别表示该非零元所在的行、列和非零元的值,向右域right用来链接同一行中下一个非零元,而向下域down用来链接同一列中下一个非零元。同一行的非零元通过right域链接成一个线性链表,同一列的非零元通过down域链接成一个线性链表。每个非零元既是某个行链表中的一个结点,又是某个列链表中的一个结点,整个矩阵通过这样的结构形成了一个十字交叉的链表。 稀疏矩阵的十字链表类型可以描述如下: 下面是建立稀疏矩阵十字链表的算法描述: 给出一个稀疏矩阵,请将其存储到一个十字链表中,并将存储完毕的矩阵输出。 Input 输入的第一行是两个整数r和c(r<200, c<200, r*c <= 12500),分别表示一个包含很多0的稀疏矩阵的行数和列数。接下来有r行,每行有c个整数,用空格隔开,表示稀疏矩阵的各个元素。 Output 输出读入的矩阵。输出共有r行,每行有c个整数,每个整数后输出一个空格。请注意行尾输出换行。 Sample Input 5 6 0 18 0 0 0 0 0 0 67 0 0 0

aria2使用ajax调用

那年仲夏 提交于 2019-12-01 02:50:39
1. aria2 1.1. ajax调用demo 自定义工具下载 下载地址 页面调用 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> </head> <body> </body> <script> //https://static.zhihu.com/heifetz/vendor.7177302d6c7d65981005.js var url1 = "http://localhost:6800/jsonrpc?tm=1569769711558"; var downData=[{ "jsonrpc": "2.0", "method": "aria2.addUri", "id": 456, "params": [ ["http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe"], { "split": "5", "max-connection-per-server": "5", "seed-ratio": "0" } ] }, { "jsonrpc": "2.0", "method": "aria2