Libertas

37 posts

Python Calling Java Functions with JARs

jar -xvf file.jar 如果jar里嵌套jar,可能会报错(说某个函数没有定义,其实就是缺少和它相关的jar,只不过这个报错非常具有误导性)。把文件都解压出来,就能用了…… 解压出来的class文件也可以用,不过还是直接用jar最好吧。 from jpype import * import os if __name__ == "__main__": classpath = os.getcwd() + "jars/hw.jar:" + os.getcwd() startJVM(getDefaultJVMPath(), "-Djava.ext.dirs=%s" % os.getcwd() + "

  • Libertas

[南阳OJ]Haffman编码

题目: 哈弗曼编码大家一定很熟悉吧(不熟悉也没关系,自己查去。。。)。现在给你一串字符以及它们所对应的权值,让你构造哈弗曼树,从而确定每个字符的哈弗曼编码。当然,这里有一些小规定: 1.规定哈弗曼树的左子树编码为0,右子树编码为1; 2.若两个字符权值相同,则ASCII码值小的字符为左孩子,大的为右孩子; 3.创建的新节点所代表的字符与它的左孩子的字符相同; 4.所有字符为ASCII码表上32-96之间的字符(即“ ”到“`”之间的字符)。 输入包含多组数据(不超过100组) 每组数据第一行一个整数n,表示字符个数。接下来n行,每行有一个字符ch和一个整数weight,表示字符ch所对应的权值,中间用空格隔开。 输入数据保证每组测试数据的字符不会重复。 对于每组测试数据,按照输入顺序输出相应的字符以及它们的哈弗曼编码结果 这道题很坑,空格也能作为输入,坑了很长时间…… #include <stdio.h> #include <

  • Libertas

使用OpenCV找灰度图质心

这个东西最近坑了我两天的时间。 比较值得注意的几点: 1.Mat的遍历方式,只有灰度图才能使用Mat::at来遍历,如果不是灰度图也不会报错,但是不会得到想要的结果 2.图像质心的公式。 #include <assert.h> #include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; void gravityCenter(Mat src, CvPoint &cent) { assert(src.channels() == 1); long xsum

  • Libertas