#include
int x[80000];
int main()
{
int s,t,n,m,a;
long long r;
freopen("sample_input.txt","r",stdin);
scanf("%d",&t);
for(s=1;s<=t;s++)
{
scanf("%d",&n);
m=-1;r...
分类:
编程语言 时间:
2015-08-07 20:03:59
阅读次数:
130
Swift中数组的基本操作具体如下:
(1)计算数组长度
.
(2)判断数组是否为空
.
(3)数组新增一个元素
。
(4)数组合并
。
(5) 插入元素到任意位置
。
(6)删除任意位置的某个元素
(7)删除数组最后一个元素
(8)插入删除操作数组不能越界
如以下操作都是非法的:
。
...
分类:
编程语言 时间:
2015-08-07 20:04:49
阅读次数:
146
这一章节我们来谈谈import与from的区别
我们先引入一个模块,
head="head"
mid="min"
last="last"
print(head,mid,last)
然后再shell里面分别通过import与from导入,看看区别
从图片里面可以看见,通过import导入,需要使用模块名+变量名来引用,而使用from导入,就像直接复制head这个变量
前面的使用t...
分类:
编程语言 时间:
2015-08-07 20:03:13
阅读次数:
119
积雪材质
概述
积雪材质是我自己给这个材质取的名字,既然是积雪,那顾名思义,雪是从天而降的,因此积雪都是在物体朝上的表面;不管你的模型怎么摆放 ,雪都保证是积在物体朝上(在unity里就是y轴正方向)的表面,如下图所示:
实现原理
要保证向上的面有积雪,其实就是模型表面的法线方向与世界坐标空间的Y轴正方向保持一致积...
分类:
编程语言 时间:
2015-08-07 20:02:06
阅读次数:
132
Python解释器的探讨:第一部分函数对象 最近三个月,我和Ned Batchelder花费了大量时间在开发byterun。这个项目byterun(https://github.com/nedbat/byterun)是使用python开发的python字节码的解释器。开发解释器byterun过程中,让我学习到很多东西,以及带来很大的乐趣。在本文系列里,我将带你来体验一下我的开发乐趣,以及使用byt...
分类:
编程语言 时间:
2015-08-07 20:00:13
阅读次数:
96
最近在看spring-mvc的源码,在解析handler方法的时候,有关于获取桥接方法代码,不明白什么是桥接方法,经过查找资料,终于理解了什么是桥接方法。
桥接方法是 JDK 1.5 引入泛型后,为了使Java的泛型方法生成的字节码和 1.5 版本前的字节码相兼容,由编译器自动生成的方法。
我们可以通过Method.isBridge()方法来判断一个方法是否是桥接方法,在字节码中桥接方法会标记...
分类:
编程语言 时间:
2015-08-07 19:56:26
阅读次数:
169
打开python 2.7之后有三个命令窗口:IDLE(python GUI),python(comand line),Module Docs。Module Docs是一个搜索框,可搜索python中不了解的函数。
比较IDLE与命令行:
IDLE(python GUI):白色窗口。有代码高亮和菜单栏;可以新建python文件,可复制粘贴代码。更像一个编辑器。
python(comand...
分类:
编程语言 时间:
2015-08-07 19:57:16
阅读次数:
200
//n个物品,用字母表示每个物品的种类,
//给出标准答案对于每种物品的字母表示
//给出每个人的答案,问怎样的匹配使得两个答案的相似度更高
//{A A B A B B C C C C},{F F E F E E D D D D}表示一种答案
//对每个字母和字母之间建图,两个答案在同一个位置的字母之间的边的权值加1
//那么就只需要求其最大带权匹配
#include
#inclu...
分类:
编程语言 时间:
2015-08-07 19:57:29
阅读次数:
132
在多线程的环境中,我们需要有线程创建函数来创建需要的线程,一般的系统都是有自己的线程创建函数的,但是有的系统没有,或者说两个系统不兼容,那么我们就需要有自己的线程创建函数来兼容第三方,一般在模拟线程创建的时候都是用进程来实现的,下面就是一个例子:
static int
pthread_create(sp_pthread_t *thread, const void *attr,
void ...
分类:
编程语言 时间:
2015-08-07 19:56:45
阅读次数:
140
1.使用 synchronized实现同步方法
如果一个对象已经用synchronized声明,那么只允许一个执行线程访问它,如果其他线程试图访问这个对象的其他方法,它将被挂起,直到第一个线程执行完正在运行的方法。被synchronized声明的方法就是临界区。
对于非静态的方法被synchronized修饰后,同一时间内只能有一个线程访问这个对象的synchronized方法。即,每一...
分类:
编程语言 时间:
2015-08-07 19:54:57
阅读次数:
145
swift封装的跑马灯效果,效果如下:
需要的可以到这里CSDN或者这里(github)下载。...
分类:
编程语言 时间:
2015-08-07 19:52:57
阅读次数:
281
我们可以通过std::thread的构造函数向线程传递参数,但是默认情况下,这些参数的拷贝会被传递到线程内部,即使参数申明为引用,也是如此:
void f(int i,std::string const& s);
std::thread t(f,3,"hello");如上面例子所示,创建了一个线程关联到t,它会调用f(3, "hello"),虽然f的第二个参数类型为std::string,但是实...
分类:
编程语言 时间:
2015-08-07 19:53:11
阅读次数:
109
#include
#include
#include
#define Data_Type int
typedef struct Node{
Data_Type data;
struct Node * pNext;
}NODE,*PNODE;
typedef struct LinkQueue{
//first node
PNODE front;
//lash node
PNODE r...
分类:
编程语言 时间:
2015-08-07 19:50:22
阅读次数:
140
变量和基本类型
引言:
1、各种程序设计语言都具有许多各具特色的特征,这些特征决定了用每种语言适合开发哪些类型的应用程序。
2、大多数现代现代程序设计语言都采用两种方式扩充语言的基本特征集:允许程序员通过自定义数据类型扩充该语言;提供一组库例程,这些例程定义了一些并非内置在语言中的实用函数和数据类型。
3、C++是静态类型语言,支持在编译...
分类:
编程语言 时间:
2015-08-07 19:50:49
阅读次数:
226
//n个人,匹配m个任务,每个人完成每个任务的效率不同
//刚开始已经有了匹配方案,现在重新设计匹配方案,使得效率最高,且尽量保存
//原来的匹配方案,
//将所有权值*1000, 然后对于原来匹配的边的权值+1,用KM算法求出最大带权匹配ans
//那么最终的最大效率为ans/1000 , 保留原来的匹配边的个数为ans%mod
#include
#include<cstdio...
分类:
编程语言 时间:
2015-08-07 19:50:07
阅读次数:
130
JVM为了方便管理内存空间,充分使用内存空间,把使用到的内存空间,分为以下几块区域,每块区域只存放特定的信息
堆:
存放信息:所有的对象和数组
这块内存区域又分为新生代、老年代。新生代用于存放刚产生的新对象,老年代存放年长的对象,多次GC都没有被回收的对象。新生代又分为三块区域:Eden:刚产出的对象,S0 1:至少经过一次GC活下的对象。之所以这样区分的目的...
分类:
编程语言 时间:
2015-08-07 19:49:04
阅读次数:
162
标准库类型(一)--命名空间using与string类型
引:
标准库类型是语言组成部分中更基本的哪些数据类型(如:数组、指针)的抽象!
C++标准库定义的是高级的抽象数据类型:
1、高级:因为其中反映了更复杂的概念;
2、抽象:因为我们在使用时不需要关心他们是如何表示的,我们只需要知道这些抽象数据类型支持哪些操作就可以了。
...
分类:
编程语言 时间:
2015-08-07 19:48:53
阅读次数:
173