首页 > TAG信息列表 > UNR
UOJ #217 -【UNR #1】奇怪的线段树(路径覆盖+简单优化建图)
UOJ 题面传送门 orz 卷王 aaabcd /bx 随便开了道 aaabcd 卷过的题然后完全想偏了,想成奇怪的 DP 了(果然 aaabcd 全方位六边形我啊) 首先,如果一个点是白的但它子树内有黑点,那么显然无解,其他情况可以证明有解。 可以注意到一个性质,就是如果所有满足【该点为黑点,但是子树内没有其他黑点uoj#750-[UNR #6]小火车【二分,折半,鸽笼原理】
正题 题目链接:https://uoj.ac/problem/750 题目大意 给出\(n\)个数字和一个\(p\),保证\(2^n> p\)。现在要求一个序列\(w\)满足\(w_i\in[-1,1]\),使得\(\sum_{i=1}^nw_ia_i\equiv 0\pmod p\) \(1\leq p<2^n,1\leq n\leq 40,0\leq a_i<p\) 解题思路 我们考虑从数字集合\(S\)中找两UNR #6 题解
「UOJ747」面基之路 难得有一道我做得起的水题。 尝试二分答案,判定等价于检查是否存在一个点,使得在规定时间内 hehe 蚤和网友们都可以走到该点。检查能否走到某个结点是容易的,检查某条边上是否存在一个点相当于是检查集合的交集是否为空,转化成区间的并集是否覆盖了整条边,可以将区NOI退役记
差不多该 退役 开坑了。。。 Day -INF 过生日, \(IOI \_AKer \_yyh\) 结合我的性格和喜好送了我萌萌少女粉的咖啡杯。。。。。。。 打算拿到国赛赛场上去。。。。。。。 Day ? 按理说应该参加 UNR 的 笔试 ,奈何和同学踢球错过了报名/kk 大家打 NOI 的时候记的参加笔试哦。。。 NOIUOJ #750. -【UNR #6】小火车(meet-in-the-middle+抽屉原理)
考虑性质 \(2^n>p\)。显然根据抽屉原理必然存在两个子集和 \(\bmod p\) 相等。找出这两个子集然后相减就是答案。 朴素的做总共需要 check \(3^n\) 或者 \(4^n\) 对子集,取决于实现方法,就算 mim 也只能开个根号,无法通过。因此我们肯定不能从这个角度来思考。瞎随机可以拿到 60 分。UNR 参赛小结
Day 0 咕了,喜提笔试 \(0\) 分。 Day 1 T1 hehe 蚤面基了一个人之后,可以认为这个人一直贴着他走,那么终状态一定是所有人齐聚一堂。 而所有人齐聚一堂时,一定可以直接光速依次面基所有人,故找一个点,到所有人最短路距离最长即可。 但我没开 long long,白挂 \(35\) 分。 T2 对最终串计数,【UNR #6】机器人表演
【UNR #6】机器人表演 by AmanoKumiko Description 有一个长为\(n\)的\(01\)串,你需要计算\(t\)次操作后能得到多少不同的\(01\)串。 一次操作的定义为:在串中选两个位置插入一对\(01\)使得\(0\)在\(1\)前。 对\(998244353\)取模 Input 第一行两个数\(n,t\) 第二行一个长为\(n\)的\(UOJ#310-[UNR #2]黎明前的巧克力【FWT】
1# 正题 题目链接:https://uoj.ac/problem/310 题目大意 给出一个长度为\(n\)的序列,求有多少种方案找出两个集合\(S,T\)使得这两个集合的异或和相等。 \(1\leq n\leq 10^6\) 解题思路 可以转换为找到一个异或和为\(0\)的集合\(S\),产生\(2^{|S|}\)的方案数。 然后考虑\(FWT\),那么UOJ #671. 【UNR #5】诡异操作
题面传送门 首先当除法中\(v=1\)可以直接舍去。否则每个数最多会被除\(logV\)次。所以暴力除就好了。 与操作可以线段树上每个节点维护这个区间内每一位有几个。然后懒标记下放即可。 时间复杂度\(O((nlogV+qlogn)logV)\),但是因为\(logV=128,logn=18\)过不去。 考虑如何优化。可以【UNR 3】配对树(线段树合并)
传送门 题意 给定一棵 \(n\) 个结点的树和一个长度为 \(m\) 的结点序列。对于一个大小为偶数的点集 \(S\)(集合元素可重复),定义 \(w(S)\) 为:把 \(S\) 中的点两两匹配,每对匹配的树上距离之和的最小值。现在要对序列中所有长度为偶数的区间 \([l,r]\),求出 \(w(\{a_l,a_{l+1},\cdots,a_UNR d1t1
tag:树形dp,组合计数 首先根据递归关系建出一个树,然后就变为了树上问题:对树染色,满足任意一个点到根的 \(num_r\le c_r,num_b\le c_b\),求所有染色方案的 \(num_rnum_b^2\)。 于是想到一个 dp,设 \(f[i][j][k]\),表示点 \(i\) 的祖先选了 \(j\) 个 \(b\),点 \(i\) 子树选了 \(k\) 个 \(bUOJ552 【UNR #4】同构判定鸭【线性代数,哈希】
给定两张 \(n_1/n_2\) 个点 \(m_1/m_2\) 条边的有向图 \(G_1,G_2\),每条边有一个小写字母。 定义字符串 \(S\) 和一条路径匹配当且仅当按顺序写下路径上边的字符,得到的字符串与 \(S\) 相同。 定义字符串 \(S\) 在一张图 \(G\) 的出现次数为 \(G\) 中与 \(S\) 匹配的路径数。 定义字UOJ386【UNR #3】鸽子固定器【ad-hoc,链表】
给定 \(n\) 个二元组 \((s_i,v_i)\) 和正整数 \(d_s,d_v\),求选择 \(m\) 个二元组的 \((\sum v)^{d_v}-(\max s-\min s)^{d_s}\) 的最大值。 \(n\le 2\cdot 10^5\),\(m\le 50\),\(d_s,d_v\le 2\),\(1\le s_i,v_i\le 10^7\)。 显然按 \(s\) 排序之后就变成了选一个区间 \([l,r]\),贡献【UNR #3】百鸽笼
题面 题解 假设每一列塞满了之后还可以继续塞(只是没有用),事实上和原问题一致。 所以说,对于一个序列,如果第 \(i\) 列有空,说明恰好有 \(a_i\) 个 \(i\) 和 \(\geq a_j\) 个 \(j\ (j \neq i)\) 且以 \(i\) 结尾。 设 \(G_i(x) = \frac {x^i} {n^i i!}, S_i(x) = \sum_{j \leq i} G_j(x[解题报告]【UNR #4】校园闲逛
传送uoj#218. 【UNR #1】火车管理
题目描述 n,m<=5e5,x<=1e3 题解 想了一下就想出了log^2的,之后刚了一个下午尝试去掉一个log结果发现把set改成优先队列就过了 log^2的自然做法: 在线段树上挂加进去的数,如果下传的话时间会假,因此不下传标记 弹栈就单点查询,把经过的所有区间内时间最大的弹掉,第二大的就是新的值 弹掉UOJ#388. 【UNR #3】配对树 树链剖分+线段树
这道题卡常啊 ! 出题人说 $O(n \log^2 n)$ 可过,但我写了个 $O(n \log^2 n)$ 的树剖卡了半天常数. 最暴力的做法:枚举区间,然后跑一个树形DP 来求最小匹配. 显然,因为要求匹配值最小,所以一定是能匹配就先匹配. 也就是说递归完 $x$ 的所有儿子后,$[UNR #3]百鸽笼
我好菜啊,就在网上看了一堆博(dai)客(ma),终于搞懂了一点 思路 因为每列满不满不好处理,用容斥。 \(L\)有空位等价于其他列都比\(L\)先满(限制)。 现在考虑一个列\(L\)的概率,有一个列集合\(S\),\(S\)中都要比\(i\)先空,\(S\)就相当于必须违反限制的集合。 给\(S\)带上一个容斥系数\((-1「UNR#2」黎明前的巧克力
「UNR#2」黎明前的巧克力 解题思路 考虑一个子集 \(S\) 的异或和如果为 \(0\) 那么贡献为 \(2^{|S|}\) ,不难列出生产函数的式子,这里的卷积是异或卷积。 \[ [x^0]\prod_{i=1}^{n} (2x^{a_i}+1) \] 因为每一项只有两项 \(x^0,x^{a_i}\) 有值,记 \(f_i(x) =2x^{a_i}+1\), \(f'_i(x)=【UOJ#389】【UNR#3】白鸽(欧拉回路,费用流)
uoj传送门 题意: 二维平面上给出一些点,同时给出一些无向边连接两个点。 现在从\(1\)号点出发,经过每条边一次,最终回到\(1\)号点。问最终绕原点顺时针旋转最多多少圈。 思路: 直接思考绕原点顺时针转圈不好考虑,因为最终走的一定是一个闭合图形,所以我们可以随便找一条射线,最终顺时针经PhD Positions opening at University of Nevada, Reno (Wireless Networking / Cognitive Radio / Wireles
原文链接:http://www.cnblogs.com/youth0826/p/3340281.html PhD Positions opening at University of Nevada, Reno (Wireless Networking / Cognitive Radio / Wireless Security) PhD Positions opening at University of Nevada, RenoDept. of【UNR #2】黎明前的巧克力 解题报告
【UNR #2】黎明前的巧克力 首先可以发现,等价于求 xor 和为 \(0\) 的集合个数,每个集合的划分方案数为 \(2^{|S|}\) ,其中 \(|S|\) 为集合的大小 然后可以得到一个朴素 dp ,令 \(dp_{i,j}\) 代表前 \(i\) 个数字 xor 和为 \(j\) 的集合个数 显然转移为 \[ dp_{i,j}=dp_{i-1,j}+2dp_{i-1【UOJ#389】【UNR#3】白鸽(欧拉回路,费用流)
【UOJ#389】【UNR#3】白鸽(欧拉回路,费用流) 题面 UOJ 题解 首先第一问就是判断是否存在一条合法的欧拉回路,这个拿度数和连通性判断一下就行了。 第二问判断转的圈数,显然我们只需要考虑顺时针过一条从源点出发的射线的次数减去逆时针过的次数就好了。 于是我们就要在欧拉回路合法的基【UOJ#386】【UNR#3】鸽子固定器(贪心)
【UOJ#386】【UNR#3】鸽子固定器(贪心) 题面 UOJ 题解 一个不难想到的暴力做法是把东西按照\(s\)排序,这样子我们枚举极大值和极小值,那么我们选择的一定是这一段之间\(v\)最大的那\(m\)个东西。 考虑优化这个过程,我们枚举右端点,左端点向左移动,每次插入一个元素,用堆来维护选择的过程。Uoj #218. 【UNR #1】火车管理 可持久化线段树+思维
Code: #include<bits/stdc++.h>#define maxn 500005 using namespace std;int n,Q,ty,lastans=0; int rt[maxn], tim[maxn], lp[maxn], tp[maxn]; void setIO(string s){ string in=s+".in"; string out=s+".out"; freopen(in.c_str(),&qu