题目大意 有\(n\)(\(n\leq 10^5\))个数\(a_1,...,a_n\)(\(a\leq 10^{18}\)).有一个图用这个方法生成:若\(a_i\)按位与\(a_j\)不为0,则在\(a_i,a_j\)间连一条无向边.求这个图的最小环,若无环输出-1. 题解 首先发现当有\(i,j,k\in[1,n]\)满足\(a_i,a_j,a_k\)在同一二进制位上为1时,最小环一定为3. 排除掉这种情况后,发现同一二进制位上为1的至多只有两个数,这两个数之间一定连边. 因为\(a\le…
题目大意 有两个长度为\(n\)的序列\(a_1,...,a_n\),\(b_1,...,b_n\)(\(a,b\leq n\leq 3\times 10^5\) ).一次操作是选取 \([l,r]\) ,将 \(a_l,...,a_r\) 排序.问能否通过若干次操作把 \(a_1,...,a_n\) 变得和 \(b_1,...,b_n\) 一样. 题解 这个人讲得很清楚 首先,如果\(a,b\)中每个数的出现次数不一样,那么一定不能. 其余的部分的问题在于能不能通过交换\(a\)中一些数的位置…
题目大意 有一棵\(n\)(\(n\leq 1666\))个点的树,有点权\(d_i\),点权最大值为\(w\)(\(w\leq 1666\)).给出\(k\)(\(k\leq n\)),定义一个选择连通块的方案的权值为该连通块第\(k\)大的点权,如果该连通块大小\(<k\),那么该方案的权值为0.求所有选择连通块的方案的权值之和. 题解 考虑暴力: 设\(f(S,k)\)表示连通块\(S\)中第\(k\)大的点权,那么答案就是\(\sum\limits_{i=1}^{w}i\times(\s…
题目大意 题目链接 题解 先将\(a\)排序. \(k\)看上去等于怪的血量连续段的个数,但是要注意当存在\(a_i+1=a_{i+1}\)时,虽然它们之间的连续段为空,但是还要算上:而当\(a_m=n\)时,最后一段连续段不用算. 考虑进行游戏的过程:设当前最大血量为\(p\),正在打出第\(q\)张亵渎,那么得到的分数是:\(\sum\limits_{i=1}^p i^k-\sum\limits_{i=q}^{m}(a_i-a_{q-1})^k\). 后一部分可以直接求. 前一部分\(\su…
题目大意 有一个串\(s\),一开始只知道它的一个前缀.有\(q\)(\(q\leq 10^4\))个操作,操作有两种:1.给一个字符串,表示\(s\)(\(s\)总长\(\leq 6\times 10^5\))当前未知部分的前缀:2.给一个字符串,问\(s\)的已知部分中有几个子串和该串相同,询问串总长\(\leq 3\times 10^6\).强制在线. 题解 后缀自动机一边extend一边用LCT维护right集合大小. 代码 #include<algorithm> #include&l…
题目大意 给出\(n,k,d_1,...,d_n\)(\(n\leq 5\times 10^5,1<k\leq 10^9,d\leq 10^9,k\in R\)).有一个满足 对于每个点\(i\)它的父亲是\(\lfloor\frac{i}{d}\rfloor\)(若为0则没父亲)的森林,将\(d_1,...,d_n\)分配给森林中的每个点,设第\(i\)号点分配的权值为\(w_i\),满足\(w_i\)不超过子树中所有点的点权,且使\(w_1\)尽量大,\(w_1\)相同时使\(w_2\)尽量…
题目大意 给出一个字符串\(S\),长度为\(n\)(\(n\leq 10^5\)),\(S[l:r]\)表示\(S_l,S_{l+1}...,S_r\)这个子串.有\(m\)(\(m\leq 3\times 10^5\))次询问,每次询问给出\(l,r\),问有多少对\((i,j)\)(\(1\leq i<i+1<j\leq n\)),使与\(S[l:r]\)本质相同的子串出现在\(S[1:i]\)中或\(S[i+1:j-1]\)中或\(S[j:n]\)中. 题解 询问相当于是问有多少种方案…
题目大意 给出一个序列\(a_1,...,a_n\)(\(a,n\leq 10^5\)),一个数\(k\)(\(k\leq 10^5\)),\(m\)(\(m\leq10^5\))次询问,每次询问给\(l,r\),求\([l,r]\)有多少个子区间\([x,y]\)满足\(a_x \bigoplus ...\bigoplus a_y=k\) 题解 求前缀异或和\(s_1,...,s_n\),询问变成对于每个\(x\in [l,r]\),总共有多少\(y\in[l-1,x)\)满足\(a_x\bi…
题目大意 给出序列$ a_1,...,a_n $ ( $ n\leq10^5,a\leq 10^5 $ ),有\(m\) ( \(m\leq 10^5\))个以下三类询问: (1)给出\(l,r,k\)(\(k\leq 10^5\)),问是否存在\(x,y\)使\(x\in[l,r],y\in[l,r],a_x-a_y=k\) (2)给出\(l,r,k\)(\(k\leq 10^5\)),问是否存在\(x,y\)使\(x\in[l,r],y\in[l,r],a_x+a_y=k\) (3)给出\(…
前言: 原本因为kma太弱,很多算法没学学了也不会用,打算设置密码给自己看.后来想了想,觉得也没有必要,既然决定了要学些东西到脑子里,就没什么好丢人的. 注:"×"意为完全没学,"O"意为学了但还不太会用的,"√"为目前基本复健成功的. 数据结构: (√)线段树 (×)线段树扩展1:zkw线段树 (×)线段树扩展2:李超线段树 (√)线段树扩展3:主席树 (√)ST表--解决RMQ问题 (√)树链剖分 (√)树状数组 (√)并查集 (√)并查集小…
Shortest Cycle 题意 有n(n <= 100000)个数字,两个数字间取&运算结果大于0的话连一条边.问图中的最小环. 思路 可以发现当非0数的个数很大,比如大于200时,一定存在长度为3的环. 如果小于200, 我们就用到了Floyd求最小环的技巧. #include <algorithm> #include <iterator> #include <iostream> #include <cstring> #include &…
D - Shortest Cycle 思路:n大于某个值肯定有个三元环,否则floyd找最小环. 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using namespace std; #define double long double #define y1 y11 #define fi first #define se second #d…
D. Shortest Cycle time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given nn integer numbers a1,a2,…,ana1,a2,…,an. Consider graph on nn nodes, in which nodes ii, jj (i≠ji≠j) are conne…
D. Shortest Cycle A[i]&A[j]!=0连边, 求图中最小环 N>128 时必有3环 其他暴力跑 folyd最小环 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define sc(x) scanf("%I64d",&x); #define read(A) for(int i=0;i<n;i++) scanf("%I64d&qu…
[Codeforces 1205B]Shortest Cycle(最小环) 题面 给出n个正整数\(a_i\),若\(a_i \& a_j \neq 0\),则连边\((i,j)\)(注意i->j的边和j->i的边看作一条.问连边完图的最小环长度 \(n \leq 10^5,0 \leq a_i \leq 10^{18}\) 分析 我们按位考虑.显然满足第i位为1的所有数两两之间都有边,构成一个完全图. 统计第i位为1的数,如果第i位为1的数超过2个,就直接输出3(这3个构成一个最小环…
You are given nn integer numbers a1,a2,…,ana1,a2,…,an. Consider graph on nn nodes, in which nodes ii, jj (i≠ji≠j) are connected if and only if, aiaiAND aj≠0aj≠0, where AND denotes the bitwise AND operation. Find the length of the shortest cycle in th…
系统 : Windows xp 程序 : Keygenme # 2 程序下载地址 :http://pan.baidu.com/s/1qYIk2HQ 要求 : 注册机编写 使用工具 : OD 可在“PEDIY CrackMe 2007”中查找关于此程序的讨论,标题为“一个据说是新手级Crackme的分析”. 运行程序,查找字符串定位关键算法位置.大致的看一下程序主体: CE0>], 004400CE ; enter user-name: enter user-id: enter password:…
(29/29) 3.23已完成  1.KMP int Next[maxn]; void prekmp(char* x,int len){ ,suf=; Next[]=-; while(suf<len){ &&x[suf]!=x[pre]) pre=Next[pre]; Next[++suf]=++pre; } } int kmp(char* x,char* y){ int lenx=strlen(x); int leny=strlen(y); ,suf=,ans=; prekmp(x…
一个基于文本界面的综合练习,主要用于串联和回忆知识点,比较简单 各个界面的设计样式 主菜单 =============房屋出租系统菜单============ 1 新 增 房 源 2 查 找 房 屋 3 删除房屋信息 4 修改房屋信息 5 房 屋 列 表 6 退 出 请输入你的选择(1-6): 新增房源 =============添加房屋============ 姓名: jk 电话: 174 地址: 丰台区 月租: 5600 状态: 未出租 查找房源 =============查询房屋信息===…
A tournament is a directed graph without self-loops in which every pair of vertexes is connected by exactly one directed edge. That is, for any two vertexes u and v (u ≠ v) exists either an edge going from u to v, or an edge from v to u. You are give…
原题链接:CF1205B   题目大意   给定\(n\)个整数\(a_1,a_2,a_3, \dots ,a_n\),若\(i \neq j\)且\(a_i \land a_j \neq 0\),则节点\(i\)和节点\(j\)相连通.求最小环大小.   \(1 \leq n \leq 10^5\),\(0 \leq a_i \leq 10^{18}\).   题解   题目中的\(a_i\)都在long long的范围内,即\(a_i \in [0, 2^{64})\),则根据容斥原理可得,…
Description: 给 \(n\) 个点的图,点有点权 \(a_i\) ,两点之间有边当且仅当 \(a_i\ \text{and}\ a_j \not= 0\),边权为1,求最小环. Solution: 按每一位考虑若当前这一位为 1 的点超过了 2 个,那么答案就为 3 . 否则只会连一条边,于是最多只有 \(60\) 条边,枚举每条边删掉,求最短路 (边权为1,bfs) 即可. #include <iostream> #include <set> #include <…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个长度为 n 的正整数序列 a1, a2, ..., an. 考虑建一张 n 个点的图.假如 ai AND aj ≠ 0,则在 i, j 之间连无向边. 求在这张图上的最小环. Input 第一行一个整数 n 表示序列长度 (1≤n≤10^5) 第二行包含 n 个整数 a1,a2,-,an (0≤ai≤10^18). Output 如果图中不含任何环,输出…
题目链接:http://codeforces.com/contest/1206/problem/D 给n个点,如果点a[ i ] &a[ j ] 不为0,则点a[ i ] 和 a[ j ] 直接可以连接双向边,如果这些点形成的图中有环,求最短路径的环,如果没有输出-1. 思路:整体是用floyd求最短环,但是数据量很大,有1e5的数据,空跑floyd直接超时,但是由于题目的特殊性,两数相与不为0才有边,那么任意的a[ i ]二进制是有63位的,那么一个数字的二进制最多有63个1,如果总体数字的二…
题意: 给定 n 个点,每个点有一个权值a[i],如果a[u]&a[v] != 0,那么就可以在(u,v)之间连一条边,求最后图的最小环(环由几个点构成) 题解:逻辑运算 & 是二进制下的运算,题目给的每个权值 a[i] 的范围最大是1018,即二进制下最多64位.如果64位中有某一位的1的出现数大于 2 了,那么很明显,最小环就是3(该位循环).换个说法,在最坏的情况下,给出了 n 个数,其中有超过 128 个不为 0 的数,那么答案一定是3(因为当有128个不为0的数时,64位每一位的…
​ "聚合多元人才创造无尽可能,让每一位优秀博士生得到发声成长机会"可以说是这次微软亚洲研究院博士生论坛最好的归纳了.自去年首次举办以来,这项旨在助力青年研究者成长的项目迅速得到了业界和学界的广泛关注.在刚刚落幕的第二届微软亚洲研究院博士生论坛中,微软亚洲研究院请到了来自澳大利亚.新加坡.日本.韩国.中国大陆.香港和台湾等国家与地区的50多位优秀博士生参与.他们有着不同的肤色.不同的研究领域,但在微软亚洲研究院的短短的三天里,与会者们都感受到了蓬勃跳动的"青年智慧"…
新的一年,您在学习和工作上,想坚守所学,还是尝试转型呢? (1) 继续钻研 C# 4.0 / AJAX / LINQ to AD.LINQ to JavaScript / WF, WCF, WPF, Silverlight 4.0 / Design Patterns / Entity Framework / MVC / OR Mapping / jQuery / 并行计算 & PLINQ / 云计算 / Data Services & REST / Velocity (已被纳入 AppFa…
在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来. 顺便说一下,StackExchange真是非常好,大家可以对同一个答案做贡献和修订,看看这个问题的修订过程你就知道了——专业的问答网站应该怎么去做.这就是我在这篇文章中也说过真正的用户体验是什么样的. 好了,下面是正文(我对原文做了一些批注…
在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来. 顺便说一下,StackExchange真是非常好,大家可以对同一个答案做贡献和修订,看看这个问题的修订过程你就知道了——专业的问答网站应该怎么去做.这就是我在这篇文章中也说过真正的用户体验是什么样的. 好了,下面是正文(我对原文做了一些批注…
「luogu2569」[ZJOI2006]书架 题目大意 给定一个长度为 \(n\) 序列,序列中第 \(i\) 个元素有编号 \(a_i(a_i \in \Z \cap [1,n])\),需要支持五种操作: \(Top\) \(S\) --表示把编号为 \(S\) 的书放在最上面: \(Bottom\) \(S\)--表示把编号为 \(S\) 的书放在最下面: \(Insert\) \(S\) \(T\)--\(T \in \{-1,0,1\}\),若编号为 \(S\) 的书上面有 \(X\)…