x2

【BZOJ4668】冷战(并查集)

自闭症网瘾萝莉.ら 提交于 2019-12-06 21:59:34
Description 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕。美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国及其盟国展开了数十年的斗争。在这段时期,虽然分歧和冲突严重,但双方都尽力避免世界范围的大规模战争(第三次世界大战)爆发,其对抗通常通过局部代理战争、科技和军备竞赛、太空竞争、外交竞争等“冷”方式进行,即“相互遏制,不动武力”,因此称之为“冷战”。 Reddington 是美国的海军上将。由于战争局势十分紧张,因此他需要时刻关注着苏联的各个活动,避免使自己的国家陷入困境。苏联在全球拥有 N 个军工厂,但由于规划不当,一开始这些军工厂之间是不存在铁路的,为了使武器制造更快,苏联决定修建若干条道路使得某些军工厂联通。 Reddington 得到了苏联的修建日程表,并且他需要时刻关注着某两个军工厂是否联通,以及最早在修建哪条道路时会联通。具体而言,现在总共有M 个操作,操作分为两类: • 0 u v,这次操作苏联会修建一条连接 u 号军工厂及 v 号军工厂的铁路,注意铁路都是双向的; • 1 u v, Reddington 需要知道 u 号军工厂及 v 号军工厂最早在加入第几条条铁路后会联通,假如到这次操作都没有联通,则输出 0; 作为美国最强科学家, Reddington 需要你帮忙设计一个程序

scala 基础知识 FAQ

不打扰是莪最后的温柔 提交于 2019-12-04 16:26:41
问题1:抽象成员初始化规则 ① 父类先初始化 ② 在初始化的过程中,如果 val 发生重写,只有最后一个重写生效。前面的会变成零值,后面的会直接继承。 参考资料: https://docs.scala-lang.org/tutorials/FAQ/initialization-order.html 示例: abstract class A { val x1: String val x2: String = "mom" println("A: " + x1 + ", " + x2) } class B extends A { val x1: String = "hello" println("B: " + x1 + ", " + x2) } class C extends B { override val x2: String = "dad" println("C: " + x1 + ", " + x2) } new C 输出: A: null, null B: hello, null C: hello, dad 解析:  当一个 val 被重写时,只能初始化一次。例如,x2 在 B处初始化了,并且在 C处也初始化了,只有C处的生效。 如果 x2 同时在 B、C 两处初始化,打印的结果是 A: null, null B: hello, null C: hello, dad 如果 x2

codeforces 1200E Compress Words

落花浮王杯 提交于 2019-12-04 06:57:16
最长公共前后缀 在拼接字符串的时候要注意要考虑主串与子串的大小,其中子串在前主串在后,如果说子串的长度为X1,主串的长度为X2 ,加入x1<x2 那么将子串与主串的后x1位连接,否则将子串的前X2为与主串的连接 然后求前缀数组。 AC代码 //最长公共前后缀 #include<bits/stdc++.h> using namespace std; const int N=1E6+7; int nxt[N]; void getnxt(string s,int x){ int i=0,j=-1; nxt[0]=-1; while(i<x){ if(j==-1||s[i]==s[j]){ i++; j++; nxt[i]=j; } else j=nxt[j]; } } int main(){ ios::sync_with_stdio(0); int n; cin>>n; string ans="",x,s; for(int i=1;i<=n;i++){ cin>>x; if(i==1){ ans+=x; continue ; } s=""; int x1=ans.size(); int x2=x.size(); int c; if(x1>x2){ s+=x; s+="#"; for(int i=x1-x2;i<x1;i++) s+=ans[i]; getnxt(s,2*x2+1); c

科研画图:散点连接并平滑(基于Matlab和Python)

帅比萌擦擦* 提交于 2019-12-03 10:12:21
导师要求参照别人论文中的图(下图),将其论文中的图画美观些 附上自己整合验证过的代码: 功能:将散点连接并平滑 1)Matlab 效果图: x1=[431.50032,759.5552,1335.3736,2530.388] %输入以下三组数据 y1=[34.06366,35.73132,37.2244,38.61294] x2=[263.8656,458.7952,839.6584,1740.9088] y2=[33.5318074,35.1415668,36.8603528,38.244926] x3=[253.91296,441.854,803.4116,1625.2548] y3=[34.3625,35.88912,37.5403,38.45364] a=linspace(min(x1),max(x1)); %插值后将散点连线平滑化 b=interp1(x1,y1,a,'cubic'); c=linspace(min(x2),max(x2)); d=interp1(x2,y2,c,'cubic'); e=linspace(min(x3),max(x3)); f=interp1(x3,y3,e,'cubic'); plot(a,b, 'LineWidth',2, 'LineSmoothing', 'on'); %画ab对应曲线,粗细,平滑 hold on plot(c,d,

looping over the name of the columns in R for creating new columns

匿名 (未验证) 提交于 2019-12-03 09:14:57
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am trying to use the loop over the column names of the existing dataframe and then create new columns based on one of the old column.Here is my sample data: sample<-list(c(10,12,17,7,9,10),c(NA,NA,NA,10,12,13),c(1,1,1,0,0,0)) sample<-as.data.frame(sample) colnames(sample)<-c("x1","x2","D") >sample x1 x2 D 10 NA 1 12 NA 1 17 NA 1 7 10 0 9 20 0 10 13 0 Now, I am trying to use for loop to generate two variables x1.imp and x2.imp that have values related to D=0 when D=1 and values related to D=1 when D=0(Here I actually don't need for loop but

Format geom_text label doesn&#039;t work when using aes_string

匿名 (未验证) 提交于 2019-12-03 08:46:08
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am using the dot function to format text labels in a plot created with ggplot2 . This works fine when using aes , but doesn't work like expected when using aes_string . Is there a workaround to make it work with aes_string ? require(ggplot2) # Define the format function dot <- function(x, ...) { format(x, ..., big.mark = ".", scientific = FALSE, trim = TRUE) } # Create dummy data df <- data.frame(cbind(levels(iris$Species),c(10000000000,200000,30000))) df$X2 <- as.numeric(as.character(df$X2)) # Works with aes ggplot(iris) + geom_bar(aes

Python: Finding multiple roots of nonlinear equation

匿名 (未验证) 提交于 2019-12-03 01:31:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Assume the following function: f(x) = x * cos(x-4) With x = [-2.5, 2.5] this function crosses 0 at f(0) = 0 and f(-0.71238898) = 0 . This was determined with the following code: import math from scipy.optimize import fsolve def func(x): return x*math.cos(x-4) x0 = fsolve(func, 0.0) # returns [0.] x0 = fsolve(func, -0.75) # returns [-0.71238898] What is the proper way to use fzero (or any other Python root finder) to find both roots in one call? Is there a different scipy function that does this? fzero reference 回答1: Define your function so

P3 仿射集

匿名 (未验证) 提交于 2019-12-03 00:05:01
P3 仿射集 Chapter 2 Convex Sets 仿射集 Affine Sets 仿射组合 仿射集的性质 线性方程组的解集是仿射集 仿射包 规划的难点在于凸规划/非凸规划。 stephen Boyd Chapter 2 Convex Sets 仿射集 Affine Sets 直线: x 1 = x 2 ∈ R n θ ∈ R x_1 \not= x_2 \in R^n \quad \theta \in R x 1 = x 2 ∈ R n θ ∈ R y = θ x 1 + ( 1 θ ) x 2 = x 2 + θ ( x 1 x 2 ) y=\theta x_1 + (1-\theta)x_2 = x_2 + \theta(x_1-x_2) y = θ x 1 + ( 1 θ ) x 2 = x 2 + θ ( x 1 x 2 ) 线段: θ ∈ R , &ThickSpace; θ ∈ [ 0 , 1 ] \theta \in R ,\; \theta \in [0,1] θ ∈ R , θ ∈ [ 0 , 1 ] y = θ x 1 + ( 1 θ ) x 2 y=\theta x_1 + (1-\theta)x_2 y = θ x 1 + ( 1 θ ) x 2 仿射集:一个集合C是仿射集,若 x 1 , x 2 ∈ C \forall x_1,x_2 \in C

模糊聚类+Matlab代码

此生再无相见时 提交于 2019-12-02 23:18:17
算法原理 Matlab代码 %根据lambda截集,模糊聚类 clear; x = [80,10,6,2; 50,1,6,4; 90,6,4,6; 40,5,7,3; 10,1,2,4]; %样本 row = size(x,1); %样本个数 x2 = bz(x); %标准化 R = gm(x2); %构造模糊相似矩阵 biBao = transBiBao(R); %求传递闭包 [L,J] = lambdaJie(biBao); %截集 [T] = juLei(L,J,row); %聚类 H = dendrogram(T); %绘制聚类谱系图 function [x2] = bz(x) %最大值标准化 temp = max(x); x2 = x./temp; end function [R] = gm(x2) %最大最小法构造模糊相似矩阵 row = size(x2,1); R = zeros(row,row); for i = 1:row for j = 1:row R(i,j) = sum(jiao(x2(i,:),x2(j,:)))/sum(bing(x2(i,:),x2(j,:))); end end end function [Z] = jiao(X,Y) %两个矩阵交 [row,col] = size(X); Z = zeros(row,col); for i = 1

证明:$(g\circ f = e_X)\Rightarrow(g是满射)\wedge(f是单射)$

烈酒焚心 提交于 2019-12-02 14:32:55
( g ∘ f = e X ) ⇒ ( g 是 满 射 ) ∧ ( f 是 单 射 ) (g\circ f = e_X)\Rightarrow(g是满射)\wedge(f是单射) ( g ∘ f = e X ​ ) ⇒ ( g 是 满 射 ) ∧ ( f 是 单 射 ) 假设: f : X → Y f:X \rightarrow Y f : X → Y , g : Y → X g:Y\rightarrow X g : Y → X ,且 g ∘ f = e X : X → X g\circ f = e_X:X\rightarrow X g ∘ f = e X ​ : X → X 。 则, X = e X ( X ) = ( g ∘ f ) ( X ) = g ( f ( X ) ) ⊂ g ( Y ) X=e_X(X)=(g\circ f)(X)=g(f(X))\subset g(Y) X = e X ​ ( X ) = ( g ∘ f ) ( X ) = g ( f ( X ) ) ⊂ g ( Y ) ,这表明 g g g 是满射。 此外,如果 x 1 ∈ X x_1\in X x 1 ​ ∈ X , x 2 ∈ X x_2\in X x 2 ​ ∈ X , 则 ( x 1 ≠ x 2 ) ⇒ ( e X ( x 1 ) ≠ e X ( x 2 ) ) ⇒ ( ( g ∘ f )