UOJ Test Round 3

A.幾何沖刺

感覺自己的智商爆炸。

顯然是按照極角序排列之后依次加點,判斷是否有點。

保證一個點在兩個角的范圍內就OK了啊,想了半天叉積。。。

#include "triangles.h"
#include <bits/stdc++.h>
#define for1(a,b,i) for(int i=a,end_=b;i<=end_;++i)
#define FOR2(a,b,i) for(int i=a,end_=b;i>=end_;--i)
using namespace std;
typedef long long ll;
#define M 20005struct node {int id,x,y;double c;inline bool operator <(const node &a) const {return c<a.c;}
}a[M];const double pi=acos(-1);void check_triangles(int n,int m,int *ax,int *ay,int *bx,int *by,int **f) {for1(1,n,i) a[i]=(node){i,ax[i-1],ay[i-1]};for1(1,m,i) a[i+n]=(node){i+n,bx[i-1],by[i-1]};for1(1,n+m,i) a[i].c=atan2(a[i].y,a[i].x);sort(a+1,a+n+m+1);for1(1,n+m,i) a[n+m+i]=a[i],a[n+m+i].c+=2*pi;int tot=2*(n+m);for1(1,n,i) for1(i+1,n,j) f[i-1][j-1]=-1;for(int l=1;l<=n+m;++l) {while (l<=n+m&&a[l].id>n) ++l;if(l>n+m) break;bool t=a[l].c<0;int pos=l,Max_pos=-1;double num=a[l].c+pi,Max=-1e18;while (pos<tot&&a[pos+1].c<num) {++pos;//這里可以改成向量會快很多double x=atan2(a[pos].y-a[l].y,a[pos].x-a[l].x);if(!t&&x<0) x+=2*pi;if(a[pos].id>n) {if(x>Max) {Max=x;Max_pos=a[pos].id-n-1;}}else {if(x<Max) {int x_[2]={a[l].id,a[pos].id};if(x_[0]>x_[1]) swap(x_[0],x_[1]);f[x_[0]-1][x_[1]-1]=Max_pos;}}}}
}
View Code

B.去月球

感覺我寫的hash+線段樹做法挺顯然的吧,$O(m*log^2n)$。

然后優化就可以用后綴自動機搞個$O(1)$lca就OK了,但是太碼農了,沒寫。

myy的思路非常6。

考慮建出一個trie樹,表示$[1,i]$的消除完之后的序列。

然后$dis(pos[l-1],pos[r])$就是不能得到的點的個數。

證明的話就是我們考慮在$pos[l-1]$后加上$[l,r]$消除完的區間。

和$[1,l-1]$內配對的點是一個前綴,對應了走到lca,之后對應了走到pos[r]。

很巧妙了,$O(n*logn+m*logn)$。

#include <bits/stdc++.h>
#include "mythological.h"
#define for1(a,b,i) for(int i=a,end_=b;i<=end_;++i)
#define FOR2(a,b,i) for(int i=a,end_=b;i>=end_;--i)
using namespace std;
typedef long long ll;#define M 200005
int n;
int a[M],pos[M];
int dep[M],fa[M][20];
map <int,int> cc[M];inline int Lca(int x,int y) {if(dep[x]<dep[y]) swap(x,y);FOR2(16,0,i) if(dep[fa[x][i]]>=dep[y]) x=fa[x][i];if(x==y) return x;FOR2(16,0,i) if(fa[x][i]!=fa[y][i]) x=fa[x][i],y=fa[y][i];return fa[x][0];
}int query(int l,int r) {--l;return r-l-dep[pos[l]]-dep[pos[r]]+2*dep[Lca(pos[l],pos[r])];
}void init(int n_,int _,int s_[],int t) {n=n_;for1(1,n,i) a[i]=s_[i];int cur=0;for1(1,n,i) {if(a[i]==a[cur]) cur=fa[cur][0];else {if(cc[cur].count(a[i])) cur=cc[cur][a[i]];else cc[cur][a[i]]=i,fa[i][0]=cur,cur=i;}pos[i]=cur;}for1(1,n,i) dep[i]=dep[fa[i][0]]+1;for1(1,16,i) for1(1,n,j) fa[j][i]=fa[fa[j][i-1]][i-1];
}
View Code

?C.量子破碎

fwt的應用。

$cnt(x\&pos)+cnt(y\&pos)=cnt(x\&y\&pos)$

fwt之后pos點不為0的條件就是上面的式子為偶數。

然后直接check解就好了。

#include <bits/stdc++.h>
#include "quantumbreak.h"
#define for1(a,b,i) for(int i=a,end_=b;i<=end_;++i)
#define FOR2(a,b,i) for(int i=a,end_=b;i>=end_;--i)
using namespace std;
typedef long long ll;
inline int read() {int f=1,sum=0;char x=getchar();for(;(x<'0'||x>'9');x=getchar()) if(x=='-') f=-1;for(;x>='0'&&x<='9';x=getchar()) sum=sum*10+x-'0';return f*sum;
}const int M=(1<<20)+5;
int ans[M];
double a[2][2];
const double c=1/sqrt(2);int query_xor(int n,int t) {int cnt=(1<<n)-1;for1(1,(1<<n)-1,i) ans[i]=i;for1(0,1,i) for1(0,1,j) a[i][j]=c;a[1][1]=-c;while (cnt>1) {FOR2(n,1,i) manipulate(a,i-1);int tot=0;int pos=query();for1(1,cnt,i) if(__builtin_parity(ans[i]&pos)==0) ans[++tot]=ans[i];cnt=tot; }return ans[1];
}
View Code

?

轉載于:https://www.cnblogs.com/asd123www/p/9904302.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396203.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396203.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396203.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

萬能素材庫_自媒體運營必備3款黑科技工具,一個萬能素材網站,你都在用嗎?...

原標題&#xff1a;自媒體運營必備3款黑科技工具&#xff0c;一個萬能素材網站&#xff0c;你都在用嗎&#xff1f;現在刷短視頻幾乎是我們每個人每天必做的一個娛樂方式了&#xff0c;也有很多的小伙伴加到我問&#xff0c;怎么做抖音&#xff0c;抖音怎么運營&#xff0c;那么…

java怎么處理ajax請求,java怎么用ajax請求?jquery ajax請求后臺的簡單例子

jQuery.ajax(url,[settings])概述通過 HTTP 請求加載遠程數據。jQuery 底層 AJAX 實現。簡單易用的高層實現見 $.get, $.post 等。$.ajax() 返回其創建的 XMLHttpRequest 對象。大多數情況下你無需直接操作該函數&#xff0c;除非你需要操作不常用的選項&#xff0c;以獲得更多…

訓練代碼_代碼簡介:是的,有完全免費的代碼訓練營

訓練代碼Here are three stories we published this week that are worth your time:這是我們本周發布的三個值得您關注的故事&#xff1a; You might not need that $15K coding bootcamp: 6 minute read 您可能不需要$ 15K的編碼訓練營&#xff1a; 6分鐘的閱讀時間 How a b…

MySQL(五) —— 子查詢

子查詢&#xff08;SubQuery&#xff09;是指出現在其他SQL語句內的SELECT語句。 如&#xff1a; SELECT * FROM t1 WHERE col1 (SELECT col2 FROM t2); 其中 SELECT * FROM t1,稱為Outer Query/Outer Statement SELECT col2 FROM t2,稱為SubQuery 子查詢指嵌套在查詢內部&…

PPP認證方式pap chap chap2

2019獨角獸企業重金招聘Python工程師標準>>> PPP點到點協議&#xff08;Point to Point Protocol&#xff0c;PPP&#xff09;是IETF&#xff08;Internet Engineering Task Force&#xff0c;因特網工程任務組&#xff09;推出的點到點類型線路的數據鏈路層協議。它…

Nexus-配置vPC 實驗三

配置EvPC&#xff08;增強的vPC&#xff09;&#xff0c;下面兩個FEX可以同時被兩個N5K管理。注意&#xff1a;FEX只支持靜態的Channel-group&#xff08;mode on&#xff09; N5K-1配置&#xff1a;配置FEXN5K-1&#xff08;config&#xff09;#feature fexN5K-1&#xff08;c…

python中字符串轉xml對象_Python實現對象轉換為xml的方法示例

本文實例講述了Python實現對象轉換為xml的方法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;# -*- coding:UTF-8 -*-Created on 2010-4-20author: 憂里修斯import xml.etree.ElementTree as ETimport xml.dom.minidom as minidomfrom addrbook.domain import Person…

python現在時間 命令,Python 日期格式和時間以及當前時間和時間戳

Python 程序在運行的時候可能需要獲得當前的時間。在這個時候我們需要導入 datetime 包。獲得當前時間例如&#xff0c;可以使用下面的代碼獲得當前的日期。today datetime.date.today()print("Todays date:", today)在上面的代碼中&#xff0c;將會輸出&#xff1a…

谷歌入職郵件_為什么我全職學習了8個月以接受Google采訪

谷歌入職郵件by Googley as Heck由Googley飾演Heck 為什么我全職學習了8個月以接受Google采訪 (Why I studied full-time for 8 months for a Google interview) It’s true. I’ve spent thousands of hours reading books, writing code, and watching computer science lec…

關于meta便簽詳解

<!-- 聲明文檔 --> <meta charsetutf-8> <meta http-equiv"X-UA-Compatible" content"IEedge" /> //指示IE以目前可用的最高模式顯示內容 <!-- SEO 優化 --> <meta name"description" content"不超過150個字符&…

go grpc 深入筆記

為什么80%的碼農都做不了架構師&#xff1f;>>> grpc 深入 生命周期 grpc 的生命周期由4種請求的方式不同而不同&#xff1a;(詳細查看router示例) 普通rpc: 客戶端發送請求&#xff0c;通知服務端調用rpc服務&#xff0c;服務端返回請求&#xff0c;如果狀態"…

messagedigest 圖片加密_MessageDigest 加密和解密2

-------------------解密---------------------------package com.drawthink.platform.util;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java…

34個省市自治區排序_freeCodeCamp的1,000多個學習小組現已完全自治

34個省市自治區排序by Justin Sane賈斯汀桑恩(Justin Sane) freeCodeCamp的1,000多個學習小組現已完全自治 (freeCodeCamp’s 1,000 study groups are now fully autonomous) When the first local freeCodeCamp (fCC) study group popped up, we had no idea that within les…

oracle rac alter日志,ORACLE 11G RAC 增加日志組及增大日志文件

1、查看目前日志組和日志文件情況SQL> select * from v$logfile order by 1;GROUP# STATUS TYPE MEMBER IS_---------- ------- ------- -------------------------------------------------- ---1 ONLINE FRA/st…

RSA加密算法簡單分析

預備知識 1&#xff09;RSA是第一個比較完善的公開密鑰算法&#xff0c;它既能用于加密&#xff0c;也能用于數字簽名。RSA以它的三個發明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名&#xff0c;這個算法經受住了多年深入的密碼分析&#xff0c;雖然密碼分析者…

C#字符串變量使用

string由于是引用類型&#xff0c;所以&#xff0c;聲明的字符串變量會存儲到堆上&#xff0c;而且該變量是不可變的&#xff0c;一旦初始化了該變量&#xff0c;該內存區域中存儲的內容將不能更改。在對字符串操作時&#xff0c;是在堆上創建了一個新的字符串變量&#xff0c;…

c語輸入單引號_C語言的printf不能用單引號?

多年沒用C語言了。近日用R語言編程時因有太多循環&#xff0c;只好用C寫個擴展模塊&#xff0c;一時竟不知怎么動手了。在多種語言中&#xff0c;單引號和雙引號是可以等同使用的。因鍵入雙引號要比單引號多按一SHIFT鍵&#xff0c;我偏好單引號。在用printf顯示字符串&#xf…

css flexbox模型_CSS Flexbox在全國范圍內的公路旅行中得到了解釋

css flexbox模型by Kevin Kononenko凱文科諾年科(Kevin Kononenko) CSS Flexbox在全國范圍內的公路旅行中得到了解釋 (CSS Flexbox Explained by Road Tripping Across the Country) 如果您旅行很長&#xff0c;那么您可以了解CSS Flexbox&#xff01; (If you have ever been…

oracle 10g 白皮書,Oracle 10g標準版與企業版

beautiful 于 2007-03-06 00:43:37發表:最后還有一些關于oracle產品的FAQ&#xff1a;1. Oracle數據庫軟件目前在售的版本號&#xff1f;A&#xff1a;目前在售的是Oracle 9i 和Oracle 10g2. 10g是不是比9i更好&#xff1f;A&#xff1a;一個新版本的軟件推出以后&#xff0c;總…

Linux 小筆記

1、查看linux 版本 按ctrlshiftt 快捷鍵&#xff0c;打開終端&#xff0c;輸入sudo uname --m &#xff0c;按下enter 如果顯示i686,你安裝了32位操作系統 如果顯示 x86_64&#xff0c;你安裝了64位操作系統 轉載于:https://www.cnblogs.com/1995hxt/p/5436683.html