u2

HDU 6625 (01字典树)

谁都会走 提交于 2019-11-30 07:15:30
题意: 给定两个长为n的数组a和b; 重新排列a和b,生成数组c,c[i]=a[i] xor b[i]; 输出字典序最小的c数组。 分析: 将a中的数插入一颗01字典树a中; 将b中的数插入一颗01字典树b中; 在trie树上查找n次,每次同时在a和b中下移一层; if 能同时走0,则同时走0; else if 能同时走1,则同时走1; else if 树a能走0&&树b能走1,则a走0、b走1; else if 树a能走1&&树b能走0,则a走1、b走0; else 向c中插入一个新数为这两个节点的异或值; 最后对c排序。 复杂度O(T*n*30) #include<bits/stdc++.h> using namespace std; const int maxn = 1e6+5; typedef long long LL; struct Trie01{ int ch[35 * maxn][2]; int cnt[35*maxn]; int node_cnt; inline void init(){ node_cnt = 1; memset(ch[0],0,sizeof(ch[0])); } inline void Insert(LL x){ int cur = 0; for(int i = 30;i >= 0;--i){ int idx = (x >> i) & 1; if(

UniVerse learning materials [closed]

依然范特西╮ 提交于 2019-11-29 18:43:57
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 6 years ago . I've recently come in contact with a proprietary descendant of UniVerse. Does anyone know where I can get a good tutorial or brush up on the syntactic quirks of its more popular parent? I can't figure out how to even get a table listing. Navigating my way around is difficult, and I don't see any man pages.

java Class文件内部结构解析

孤街浪徒 提交于 2019-11-28 07:44:50
原帖地址: 点击打开链接 大学的时候,就看过java虚拟机规范第二版,最近把最新的Java虚拟机规范第三版(java se 1.7版本)温习了一遍,发现java虚拟机规范中java class的文件结构部分并没有太大的变化,顺便也整理了一下。 java语言是跨平台的,所谓一次编写,到处运行。之所以是跨平台的,就是java定义了一套与操作系统,硬件无关的字节码格式,这个字节码就是用java class文件来表示的,java class文件内部定义了虚拟机可以识别的字节码格式,这个格式是平台无关性的,在linux系统或者在windows系统上都是一致的。这个就好比html文件,我们定义好规范,这个系统只要去按照规范显示出来里面的内容就好了。好比html就是class文件,浏览器就是虚拟机一样,通过浏览器去执行html的渲染过程,我们无论是用手机,Windows系统,苹果系统上网,显示出来的内容都是一样。 java虚拟机可以从class文件中加载预定义的字节码,也可以从网络,数据库,消息文件中加载字节码。 下面来说说java class的文件结构,java class文件结构是基于字节流的,用unicode进行编码。其实想想也可以完全用xml文件表示,只不过用xml表示的字节码文本体积可能会很大,占用空间,同时解析起来比较耗时,而且很容易被人为修改,导致未知错误

Class文件结构

天大地大妈咪最大 提交于 2019-11-28 07:44:22
Java之所以能实现“Write Once, Run Anywhere”,是因为不同平台的虚拟机都统一使用一种程序存储格式——字节码。Java虚拟机不和包括Java在内的任何语言绑定,它只于“Class”文件这种特定的二进制文件格式所关联。 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑排列在Class文件中,中间无任何分隔符。 明确两个概念:无符号数和表 无符号数属于基本的数据类型,以u1、u2、u4来分别代表1个字节、2个字节和4个字节的无符号数。 表是由多个无符号数或者其他表作为数据项构成的复合数据结构,整个Class文件本质上就是一张表。 Class文件格式 类型 名称 数量 描述 u4 magic 1 魔数 u2 minor_version 1 次版本号 u2 major_version  1 主版本号 u2 constant_pool_count 1 常量池容量 cp_info constant_pool costant_pool_count-1 常量池 u2 access_flags 1 访问标志 u2 this_class 1 当前类常量索引 u2 super_class 1 超类常量索引 u2 interfaces_count 1 接口数量 u2 interfaces interfaces_count 接口常量索引 u2

java Class文件内部结构解析

馋奶兔 提交于 2019-11-28 07:42:38
大学的时候,就看过java虚拟机规范第二版,最近把最新的Java虚拟机规范第三版(java se 1.7版本)温习了一遍,发现java虚拟机规范中java class的文件结构部分并没有太大的变化,顺便也整理了一下。 java语言是跨平台的,所谓一次编写,到处运行。之所以是跨平台的,就是java定义了一套与操作系统,硬件无关的字节码格式,这个字节码就是用java class文件来表示的,java class文件内部定义了虚拟机可以识别的字节码格式,这个格式是平台无关性的,在linux系统或者在windows系统上都是一致的。这个就好比html文件,我们定义好规范,这个系统只要去按照规范显示出来里面的内容就好了。好比html就是class文件,浏览器就是虚拟机一样,通过浏览器去执行html的渲染过程,我们无论是用手机,Windows系统,苹果系统上网,显示出来的内容都是一样。 java虚拟机可以从class文件中加载预定义的字节码,也可以从网络,数据库,消息文件中加载字节码。 下面来说说java class的文件结构,java class文件结构是基于字节流的,用unicode进行编码。其实想想也可以完全用xml文件表示,只不过用xml表示的字节码文本体积可能会很大,占用空间,同时解析起来比较耗时,而且很容易被人为修改,导致未知错误。下面是class文件的内部结构 ClassFile

Class文件结构全面解析(上)

為{幸葍}努か 提交于 2019-11-28 07:42:30
什么是Class文件? 在Java刚刚诞生的时候就提出了一个非常著名的口号:“一次编写,到处运行。(Write Once,Run Anywhere)”。为了实现平台无关性,各种不同平台的虚拟机都统一使用一种程序储存格式,就是字节码(ByteCode)。它就以二进制字节流的方式被存放在Class文件中,其中包含了Java虚拟机指令集和符号表以及其他辅助信息。 欢迎关注微信公众号: 万猫学社 ,每周一分享Java技术干货。 为什么需要了解Class文件结构? 一般对于数据结构的分享难免比较枯燥,但是了解Class文件结构是了解Java虚拟机的重要基础之一。如果想比较深入地了解Java虚拟机,那么Class文件结构是不能不接触的。我会力求在保证逻辑准确的基础上,尽量通俗易懂地分享,并结合实际案例。 欢迎关注微信公众号: 万猫学社 ,每周一分享Java技术干货。 Class文件结构简介 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序准确地排列在Class文件中,中间没有任何分隔符。当遇到8位字节以上的数据时,就按照高位在前的方式(最高位字节在地址最低位、最低位字节在地址最高位的顺序储存)分割成多个8位字节储存。 Class文件格式采用一种类似于C语言结构体的伪结构来储存数据的,这种伪结构有两种数据类型: 无符号数 和 表 。 欢迎关注微信公众号: 万猫学社

MySQL procedure to load data from staging table to other tables. Need to split up multivalue field in the process

偶尔善良 提交于 2019-11-28 06:10:31
问题 I'm trying to export data from a multivalue database (Unidata) into MySQL. Lets say my source data was a person's ID number, their first name and all the states they've lived in. The states field is a multi value field and I'm exporting them so that the different values within that field are seperated by a ~. A sample extract looks like: "1234","Sally","NY~NJ~CT" "1235","Dave","ME~MA~FL" "3245","Fred","UT~CA" "2344","Sue","OR" I've loaded this data into a staging table Table:staging Column 1:

sizeof和sizeof(string)的问题

╄→尐↘猪︶ㄣ 提交于 2019-11-27 13:50:01
今天看《程序员面试宝典》一书(为了应付将要到来的微软笔试),看到了sizeof(string)这个问题。在Dev C++上测试的结果是4,很不明白。上网搜了一下,得到如下结果: string strArr1[]={"Trend", "Micro", "Soft"}; sizeof(strArr1)=12 转自: http://apps.hi.baidu.com/share/detail/30398570 关于sizeof(string),今天看那本面试宝典的时候看到这个表达式,有点吃惊,书上写着sizeof(string)=4;当时很纳闷,难道分配4个字节大小的内存给string吗?查阅了相关资料得出结论: string的实现在各库中可能有所不同,但是在同一库中相同一点是,无论你的string里放多长的字符串,它的sizeof()都是固定的,字符串所占的空间是从堆中动态分配的,与sizeof()无关。 sizeof(string)=4可能是最典型的实现之一,不过也有sizeof()为12、32字节的库实现。 但是VC6.0测试后sizeof(string)=16.还是跟编译器有关 #include<iostream> using namespace std; void main(void) { string a[] = {"aaaaa","bbbb","ccc"}; int x =