这题说的是给了一个公司员工100000 然后现在又3种操作第一种将y置为x的父亲,第二种操作将文件给第x个人签他签完给他的上司签,一直到没有上司为止,第三种操作问x是否签了第i份文件,然后 我们只要直到每两个点在最后形成的这颗树的位置只有祖先关系第一类   叔叔兄弟和其他的归为另一类,然后我们通过并查集判断他们是否在同一颗树中如果在判断他们的关系可以用刚刚处理出来的关系 处理这个关系用的是 访问的时间差可以判断是否为这个节点的孩子 看下面的代码 tin[x]<=tin[y]&&tou…
Information Graph 把询问离线之后就能随便搞了, 去check一下是不是祖先, 可以用倍增也能用dfs序. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII pair<int…
题意:有三种操作: 1.新增一条边从y连向x,此前x没有父节点 2.x接到一份文件,(文件标号逐次递增),然后将这份文件一路上溯,让所有上溯的节点都接到这份文件 3.查询某个节点x是否接到过文件F 解法: 首先要知道一个性质,节点u在v的上溯路径上的话要满足: L[u]<=L[v] && R[u] >= R[v] (先进后出) 先将所有的边都读入,dfs得出L[u],R[u],然后将查询分为tot类(tot=总文件种数),记录每一类有那些地方查询了,然后如果type=2,那么记…
并查集.... E. Information Graph time limit per test 1 second memory limit per test 512 megabytes input standard input output standard output There are n employees working in company "X" (let's number them from 1 to n for convenience). Initially the…
题目大意:RT 分析:构造一条射线,如果穿越偶数条边,那么就在多边形外面,如果穿越奇数条边,那么就在多边形里面. 代码如下: =========================================================================================================================== #include<stdio.h> #include<algorithm> #include<string…
最近在做一些简单的图像对比工作,总结了一些GDI+对象的使用方式,记录下来共享给大家使用. 判断Rectangl与多边形的关系 /// <summary> /// 是否包含输入范围 /// </summary> /// <param name="rectangle">要对比的范围</param> /// <param name="scale">当前模型对比比例,如放大一倍.缩小一倍等,默认是1</pa…
//Type类的函数 class Type bool IsInstanceOfType(object); //判断对象是否是指定类型 //类型可以是父类,接口 //用法:父类.IsInstanceOfType(子类对象) bool IsAssignableFrom(Type) //判断两个类型的关系 //类型可以是父类,接口 //用法:父类.IsAssignableFrom(子类) bool IsSubClassOf(Type) //判断两个类型的关系 //类型不可以是接口 //用法:子类.Is…
nil表示一个对象指针为空,针对对象 >示例代码: NSString *someString = nil; NSURL *someURL = nil; id someObject = nil; if (anotherObject == nil) // do something Nil表示一个类指针为空,针对类 >示例代码: Class someClass = Nil; Class anotherClass = [NSString class]; NULL表示基本数据类型为空,基本类型 >…
功能点  判断某个IP地址是否合法 判断两个IP地址是否在同一个网段中 判断两个IP地址的大小关系 知识准备 IP协议 子网掩码 Java 正则表达式 基本原理 IP地址范围 0.0.0.0- 255.255.255.255,包括了mask地址. IP地址划分 A类地址:1.0.0.1-126.255.255.254 B类地址:128.0.0.1-191.255.255.254 C类地址:192.168.0.0-192.168.255.255 D类地址:224.0.0.1-239.255.255…
Calculate the number of toys that land in each bin of a partitioned toy box. Mom and dad have a problem - their child John never puts his toys away when he is finished playing with them. They gave John a rectangular box to put his toys in, but John i…
题目:POJ1269 题意:给你两条直线的坐标,判断两条直线是否共线.平行.相交,若相交,求出交点. 思路:直线相交判断.如果相交求交点. 首先先判断是否共线,之后判断是否平行,如果都不是就直接求交点了. #include <iostream> #include <string.h> #include <stdio.h> #include <algorithm> #include <math.h> #include <queue> #…
题目链接:http://poj.org/problem?id=1269 题面: Description We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three ways: 1) no intersection because they are parallel, 2) interse…
http://poj.org/problem?id=1410 题目大意:给你一个线段和矩形的对角两点  如果相交就输出'T'  不想交就是'F' 注意: 1,给的矩形有可能不是左上 右下  所以要先判断的 2,线段在矩形的内部输出T 3,如果交点是矩形的顶点的话 是不相交的 情况有点多  刚开始考虑的太少   wa的我心疼 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ctype.…
http://poj.org/problem?id=1269 我今天才知道原来标准的浮点输出用%.2f   并不是%.2lf  所以wa了好几次 题目大意:   就给你两个线段 然后求这两个线段所在的直线的关系  有共线  平行  和相交 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ctype.h> #include<math.h> #define N 200…
POJ1584 题意:给定n条边首尾相连对应的n个点 判断构成的图形是不是凸多边形 然后给一个圆 判断圆是否完全在凸包内(相切也算) 思路:首先运用叉积判断凸多边形 相邻三条边叉积符号相异则必有凹陷 O(n) 之后首先判断圆心是否在凸多边形内 如果凸多边形的点有序 则可以在logn时间内判断 否则先排序再判断 O(nlogn) 然后用每条边(线段)判断到圆心的距离即可 这道题也没给数据范围 O(nlogn)是可以AC的. #include<iostream> #include<stdio…
由点发出的射线与多边形边的交点个数,如果是偶数个说明在多边形的外面,交点个数为奇数个在多边形的内部,下面是代码: public bool IsPointInPolygon(Vector2 point, Vector2[] polygon) { ; bool inside = false; float pointX = point.x, pointY = point.y; float startX, startY, endX, endY; Vector2 endPoint = polygon[po…
http://poj.org/problem?id=1556 题目大意:从(0,5)走到(10,5)走的最短距离是多少 中间有最多18个隔着的墙  每个墙都有两个门  你只能从门通过 我的思路是  只要这两个点把能过的   就把他们的距离算出来  最后用迪杰斯塔拉算法求最短路就行了 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ctype.h> #include<mat…
Point.h: #pragma onceclass Point{private: double p_x, p_y;public: void setXY(double x,double y); double getx(); double gety();}; AdvCircle.h: #pragma once#include "Point.h"class AdvCircle{private: double m_x, m_y,m_r;public: void set(double x, d…
http://codeforces.com/contest/812/problem/D 题意: 现在有n个孩子,m个玩具,每次输入x y,表示x孩子想要y玩具,如果y玩具没人玩,那么x就可以去玩,如果y有人玩的话,x就必须等待y玩完后才能玩.如果出现循环,那么这个循环里的孩子都会哭. 现在有q次询问,如果加入x y,会有多少孩子哭. 思路: 建立一棵树,根结点就是第一个玩玩具y的人,它的子树就是等待玩具的人(子树按照等待顺序建树).这样就会形成很多棵树. 这样的话,对于每个询问,我们去找到最后一…
图嵌入应用场景:可用于推荐,节点分类,链接预测(link prediction),可视化等场景 一.考虑网络结构 1.DeepWalk (KDD 2014) (1)简介 DeepWalk = Random Walk + Skip-gram 论文链接 作者:Bryan Perozzi, Rami Al-Rfou, Steven Skiena 主要思想: 假设邻域相似,使用DFS构造邻域 step1:DeepWalk思想类似word2vec,word2vec是通过语料库中的句子序列来描述词与词的共现…
Graph Embedding是推荐系统.计算广告领域最近非常流行的做法,是从word2vec等一路发展而来的Embedding技术的最新延伸:并且已经有很多大厂将Graph Embedding应用于实践后取得了非常不错的线上效果. word2vec和由其衍生出的item2vec是embedding技术的基础性方法,但二者都是建立在"序列"样本(比如句子.推荐列表)的基础上的.而在互联网场景下,数据对象之间更多呈现的是图结构.典型的场景是由用户行为数据生成的物品全局关系图,以及加入更多…
如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同的.本文将分析几种常见用法及其时间成本. 检查数组是否包含某个值的方法 使用List public static boolean useList(String[] arr, String targetValue) { return Arrays.asLis…
// test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include<vector> #include<string> #include<queue> #include<stack> using namespace std; struct TreeNode { int val; struct TreeNode *left; struc…
Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4628   Accepted: 1434 Description The DIY Furniture company specializes in assemble-it-yourself furniture kits. Typically, the pieces of wood are attached to one another using a wooden peg…
/** http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1840    题意:    判断线段是否相交  (包括间接相交)    输入:     N(代表有n条线段)     sx  sy  ex  ey(一条直线的两端点的坐标)     :     :     :     a b(判断第a条和第b条线段是否相交)     :     :      :     0 0输入0 0 询问结束     输出…
两条直线可能有三种关系:1.共线     2.平行(不包括共线)    3.相交. 那给定两条直线怎么判断他们的位置关系呢.还是用到向量的叉积 例题:POJ 1269 题意:这道题是给定四个点p1, p2, p3, p4,直线L1,L2分别穿过前两个和后两个点.来判断直线L1和L2的关系 这三种关系一个一个来看: 1. 共线. 如果两条直线共线的话,那么另外一条直线上的点一定在这一条直线上.所以p3在p1p2上,所以用get_direction(p1, p2, p3)来判断p3相对于p1p2的关…
判断类与实例的关系有以下三种方式 1.instanceof关键字,用来判断对象是否是类的实例 (对象 => 类 )   2.isAssignableFrom,用来判断类型间是否存在派生关系 (类 = > 类)   3.isInstance方法,用来判断对象是否属于某个类型的实例 (类 => 对象 //use instanceof,用来判断对象是否是类的实例 System.out.println(new A() instanceof B);//类型比较 //use isAssignable…
Java中[null]的判断: 1.[null]只能通过is null,is not null判断,任何与的 关系运算(比较,有大于.大于等于.小于.小于等于.等于.不等于六种运算)都是false. 解决的方法:if([null]is not null and [null]>=n) declare -- Local variables here i integer; v_platform number(10);begin -- Test statements here SELECT null I…
原文出处: hollischuang(@Hollis_Chuang) 如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同的.本文将分析几种常见用法及其时间成本. 检查数组是否包含某个值的方法 使用List 1 2 3 public static boolean useList(String[] arr,…
题目链接:传送门 思路: (1)将每个单词视为有向路径,单词的起始字母是起始节点,末尾字母是终止节点,然后找由字母建立的有向图 是否是欧拉图或者半欧拉图. (2)先用并查集判断是否连通,再判断入度与出度的·关系是否符合要求. 有向图的欧拉图的判断 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> using name…