- 博客(27)
- 收藏
- 关注
原创 FLeiss Kappa系数和Kappa系数的Python实现
Kappa系数和Fleiss Kappa系数是检验实验标注结果数据一致性比较重要的两个参数,其中Kappa系数一般用于两份标注结果之间的比较,Fleiss Kappa则可以用于多份标注结果的一致性检测,我在百度上面基本上没有找到关于Fleiss Kappa系数的介绍,于是自己参照维基百科写了一个模板出来,参考的网址在这里:维基百科-Kappa系数 这里简单介绍一下Fleiss Ka
2017-07-27 19:31:19 23387 2
原创 HDU2838-简单树状数组
#includeusing namespace std;typedef long long ll;ll c[100010];ll num[100010];int lowbit(int x){ return x&(-x);}void update(int x, int val){ for(; x <= 100010; x += lowbit(x)) c[x] += (
2017-07-07 11:24:01 351
原创 九度1209:最小邮票数-简单dp
这道题就是一道简单的二维dp,转移方程为dp[i][j] = min(dp[i-a[j]][j-1]+1, dp[i][j]); dp[i][j] = min(dp[i][j], dp[i][j-1]);其中dp[i][j]表示用前j张邮票凑成数额为i的最小邮票数目,附上AC代码:#include
2017-07-06 22:19:06 378
原创 九度1090-路径打印-多叉树
这道题真的是巨坑!调了将近一个小时的格式才发现要按照前面父目录的字符串长度进行缩进附上PE6发之后好不容易AC的代码:#includeusing namespace std;//多叉树 typedef struct Node{ char s[60]; Node *son; Node *next_sibling;}Node;Node node[30]; void D
2017-07-06 01:50:23 620
原创 清华大学2011年研究生机试-九度OJ1088-剩下的树
题目描述: 有一个长度为整数L(1 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。 可能有M(1输入: 两个整数L(1 接下来有M组整数,每组有一对数字。输出: 可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之
2017-07-01 20:16:46 290
原创 2017 第11次CCF-CSP认证 地铁修建-并查集
这道题得满分的数据范围还是比较大的,不能直接DFS扫,正解应该是并查集,每一次添加最小的一条边,直到结点1和结点n连通为止。代码如下:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#in
2017-05-09 13:19:17 1331
原创 蒟蒻DP专题训练2--HDU1231
简单的一维dp,但是怕会超int,一定要开成long long,注意读取和打印都是lld,否则会出错。然后,题目里面说如果全是负数则输出第一个元素和最后一个元素,还是要审题。然后在每次遇到转移情况为重开区间的时候,要更新区间左值和右值,然后在寻找最大值的时候记录一下最大值和相应的区间左右值就好了,一次AC,代码如下:#pragma comment(linker, "/STACK:1024000
2017-05-08 17:24:07 332
原创 HDU1864-最大报销额-题意有问题-浙大计算机研究生复试上机考试-2007年
这道题有点坑,本来是正常的0-1背包问题,题意其实是有问题的,题干说的是单项物品的金额不得超过600,然而计算的是A、B、C每类物品不超过600元。。。实在是一开始WA了几发不知所措,参照AC代码后发现这个坑点。。。看来,A题还是要看人品啊,理解题意相当关键! 原题如下:最大报销额Time Limit: 1000/1000 MS (Java/Others)
2017-05-08 12:50:41 446
原创 HDU1861-游船出租-浙大计算机研究生复试上机考试-2007年
这是一道水题,看到网上很多用字典树写的,个人觉得只要用map记录一下就好了,本题主要的坑点有以下三个: 1、数据读取有一点麻烦,要注意一下读取中间字符,不要读出空格; 2、经测试,本题没有加每一天的游船记录 visit 的刷新(也就是两天之间 的visit数据不更新也能A,2333表示不是很懂数据),而且不存在在游船还没还回来就又重新出发的数据,这两
2017-05-08 01:25:08 714
原创 蒟蒻DP专题训练1--HDU2955
啊啊马上要面对研究生机试了,本蒟蒻打算每周一个专题训练。我感觉自己DP还是不行,实在是脑子转不过来不知道怎么推转移方程2333。 今天写的第一题就是比较坑的DP,HDU2955。此题的坑点在于: 1、误认为投银行被抓的概率是求和,事实上题目里面有很明显的提示说每次偷银行是独立的,说明是用乘法定律。 2、dp的迭代方向是逆序的。看过很多人的博客都是直接写逆
2017-05-07 22:12:31 335
原创 利用Python搭建的简易排序搜索引擎
本文源代码转自搜索引擎原理,博主进行整理调BUG并进行注释,对于Python初学者来说是了解爬虫、网页排序算法非常好的素材。首先来介绍一下PageRank网页排序算法(注:转自PageRank算法简介及Map-Reduce实现,详情点击链接):PageRank对网页排名的算法,曾是Google发家致富的法宝。以前虽然有实验过,但理解还是不透彻,这几天又看了一下,这里总结一下
2017-02-16 00:18:05 4843
原创 2016年ACM/ICPC 亚洲区域赛 大连站 1011 Weak Pair(现HDU 5877) 树状数组离散化+dfs
Weak PairTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 2421 Accepted Submission(s): 745Problem DescriptionYou are given a
2016-09-17 00:48:23 1322
原创 Codeforces Round #355 (Div. 2) C Vanya and Label 快速幂取模
先预处理出每个字符可能的组合情况,然后 用map存各个字符出现的字数,最后快速幂一下就好了。。算是codeforces 里面C题中比较简单的一道了。。#includetypedef long long ll;using namespace std; int cnt[65];const int mod = 1e9+7;char s[100010];mapmp;int cha
2016-08-14 00:31:45 249
原创 2016多校训练#1 1002 组合博弈
对于一开始接触博弈论的同学来说,这道题的思路略难,但是如果想到了把1*20的棋盘想象成一个20位的二进制数,然后通过sg函数预处理得到每一个二进制数相应的sg'值,最后直接用每一行的sg值相亦或即可。注意mex数组,也就是vis数组可以开得大一些,在没有确定sg'函数值范围的情况下: ChessTime Limit: 2000/1000 MS (Java/O
2016-08-06 18:19:16 503
转载 2016多校训练#5 1012 HDU 5792 树状数组 代码详解
World is ExplodingTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 666 Accepted Submission(s): 315Problem DescriptionGiven a s
2016-08-03 20:37:05 292
原创 线段树专题#6_蒟蒻训练历程记录_HDU 2705 Billboard_单点更新
这道题,很水的啦。。然而楼猪制杖,真的宛若制杖,居然把向上更新的函数写成了两个子节点的和,WA了几发愣是没有发现。。。ORZ制杖专卖,假一罚十! 唯一的坑点就是必须现在公告板的高度和小纸片的个数里面取最小值,否则数组会越界了。。1e9ORZ就爆了。以下是AC代码: 声明:本人蒟蒻,本系列博客为了勉励更多的初学者,在学习算法的路上越走越远欧耶╰
2016-07-30 18:50:46 332
原创 线段树专题#5_蒟蒻训练历程记录_HDU 1394 Minimum Inversion Number_单点更新+思维转换
啊这道题思维比较巧妙,首先用线段树单点更新从后往前求得每一位的逆序数个数,相加得出逆序数的总和。然后就是要思考的东西了:从一个序列转换为另一个序列时,把数组的第一个元素移到数组尾部,那么这个时候逆序数的变化是多少呢:-a[i]+(n-1-a[i]);为什么呢,因为这时候所有的元素都在它的后面,把它从第一位移到最后那么减少的逆序数自然是这个时候排在它后面而且比它小的元素个数,同理增加的逆序数就是排在
2016-07-29 21:48:04 277
原创 线段树专题#4_蒟蒻训练历程记录_HDU1698_ 延迟标记、区间更新
这道题如果第一次碰到这种类型的,大概会T,然后就要学习一种神奇的延迟标记的方法。通过这种标记在当前范围在有效查询区间内才将进行更新,这样可以避免一直更新到叶子结点,防止代码超时,膜ORZ。。。#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#
2016-07-29 19:28:36 258
原创 线段树专题#3_蒟蒻训练历程记录_HDU1754_I hate It
裸线段树,唯一的坑点是更新的时候必须向上一起更新,如果写成两个更新函数那么就会超时。。还是代码写丑了。。#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include/
2016-07-29 16:25:16 273
原创 线段树专题#2_蒟蒻训练历程记录_HDU5775
#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include//线段树单点更新查询 using namespace std;typedef long long ll;
2016-07-29 15:34:45 293
原创 线段树专题#1_蒟蒻训练历程记录_HDU1166
这是一个很裸的线段树,一边打完。但是这道题的输入输出有点坑导致RE了一发,要注意细节啊~敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 75825 Accepted Submission(s): 31879
2016-07-29 15:31:48 265
原创 Codeforces 427C - Checkposts 极大连通分量Tarjan算法模板题(STL实现)
这是一道,求极大连通分量的模板题,楼主第一次写,网上搜到的模板全部都是用数组存的,竟然没有找到用STL写的模板,于是楼主自己照着板子打了一遍。本题的思路其实很简单,找整个图里面的极大强连通分量,然后找到每个分量里面的最小代价,如果有多个就用数组存起来。当然了,要是不会求强连通分量的算法的话这道题自己构造一个dfs的算法就比较复杂了,基础还是要巩固滴#include//强连通分量Tarjan算法
2016-07-27 16:28:45 596
原创 Codeforces 493C 暴力
一开始楼主以为暴力会T,于是想了各种脑洞进行线性的搜索,后来发现upper_bound函数的时间复杂度为logn,完全够用,于是写了一个暴力水过去了:#includeusing namespace std;typedef long long ll; int a[200010];int b[200010];//公式:b1-a1要最大化 int d[400020];int main()
2016-07-26 00:37:53 474
原创 2016多校联合训练第二场 1001 Acperience 公式推导
简单的公式推导题,先把所有的数取绝对值,然后猜测k为wi的平均数,然后推导分子分母的公式,最后求分子分母的最大公因数后上下同除就好了,代码如下:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#includ
2016-07-22 17:28:45 468
原创 2016ACM多校训练第一场_1001_Abandoned Country 并查集+DFS
这道题是求最小生成树的总权值,以及生成树任意两点之间距离的期望。求最小生成树就直接用Kruskal算法生成就好了,求期望一开始用的是map发现会爆内存,后来改了之后还是超时了,方法不对,正解其实是用dfs来更新每个节点的儿子个数,然后由于数据范围比较大,一定要记得开long long还有double,下面是原题和代码:Abandoned countryTime Limit: 800
2016-07-21 20:11:48 398
原创 HDU 2147 简单巴什博弈
题目意思大概是说,有一个n*m的棋盘,玩家从右上角的格子开始移动,只能向左、向下或者向左下移动,当然不能超出棋盘的范围,直到有一方不能动为止,求是否先手必胜。这道题有了思路就很简单,从左下角的格子依次递推P态和N态的范围,就会发现如果行和列只要有一个为偶数即为先手必胜,代码如下:#pragma comment(linker, "/STACK:1024000000,1024000000")
2016-07-21 01:17:59 331
原创 2016百度之星资格赛D题
这是一道为STL而生的题目,本人做了很久的数组存储+二分查找,但是发现数组这玩意实在不给力,插入删除特别不方便,每次都要排序的话就会T。我认为如果用的是vector的话也许可以过,但是最标准的做法当然还是用map了。由于本人的水平实在渣这是第一次写map(第一次写博客,请大家支持哦~~)#include#include#include#inclu
2016-05-17 09:16:45 361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人