[BZOJ5361]/[HDU6291]对称数】的更多相关文章

[BZOJ5361]/[HDU6291]对称数 题目大意: 一个\(n(n\le2\times10^5)\)个结点的树,每个结点有一个权值\(a_i(a_i\le2\times10^5)\),\(m(m\le2\times10^5)\)次询问,每次询问\((u,v)\)路径上最小的出现偶数次的数. 思路: 对每个权值随机一个unsigned long long作为一个新的权值,树上主席树维护区间异或和. 询问时在主席树上二分即可. 源代码: #include<cstdio> #include&…
随机化选讲例题 题目大意 小 Q 认为,偶数具有对称美,而奇数则没有.给定一棵 n 个点的树,任意两点之间有且仅有一条直接或间接路径.这些点编号依次为 1 到 n,其中编号为 i 的点上有一个正整数 ai. 定义集合 S(u, v) 为 u 点到 v 点的唯一最短路径上经过的所有点 x(包括 u 和 v) 对应的正整数 ax 的集合.小 Q 将在 m 个 S(u, v) 中寻找最小的对称数.因为偶数具有对称美,所以对称数是指那些出 现了偶数次 (包括 0 次) 的正整数. 请写一个程序,帮助小…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to count the total strobogrammatic numbers that exist in the range of low <= num <= high. For example,Given low = "50&qu…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Find all strobogrammatic numbers that are of length = n. For example,Given n = 2, return ["11","69","88","96"…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to determine if a number is strobogrammatic. The number is represented as a string. For example, the numbers "69", "…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to count the total strobogrammatic numbers that exist in the range of low <= num <= high. Example: Input: low = "50"…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to determine if a number is strobogrammatic. The number is represented as a string. For example, the numbers "69", "…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Find all strobogrammatic numbers that are of length = n. For example,Given n = 2, return ["11","69","88","96"…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to count the total strobogrammatic numbers that exist in the range of low <= num <= high. For example,Given low = "50&qu…
2021-01-17 题目: [问题描述]已知10个四位数输出所有对称数及个数 n,例如1221.2332都是对称数[输入形式]10个四位数,以空格分隔开[输出形式]输入的四位数中的所有对称数,对称数个数[样例输入]1221 2243 2332 1435 1236 5623 4321 4356 6754 3234[样例输出]1221 2332 2 [样例说明]为测试程序健壮性,输入数中可能包括3位数.5位数等 代码: def is_duichen(n):#判断是不是对称,有的方法选择直接利用第一…
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=5361 好神的一道题啊! 容易看出来是要用维护权值的数据结构,因此树链剖分首先pass掉. 那么不妨用树上主席树试试?每个版本存当前点到根路径上的点的权值. 如果维护区间权值数量的话,你发现没有明确的判断条件来明确每一次主席树上二分是走左子树还是右子树. 这时就要用到一个套路了:将1~200000的所有权值随机映射成unsigned long long的数,主席树维护区间权值异或和. 再…
分析: 这个题,还是蛮有趣的.考虑,如果l,r区间内的所有数出现奇数次,那么[l-1,r]的抑或和等于所得抑或和. 之后怎么维护呢,主席树维护区间抑或和,记得将每个点附上一个ull级别的随机数,之后抑或的结果冲突的概率就几乎没有了. lca什么的,随便求. 剩下的,考虑二分答案,如果左区间的全为奇数个,就往右走,反之往左走. 附上代码: #include <cstdio> #include <cmath> #include <algorithm> #include &l…
bzoj Description 给你一棵树,每个点有一个编号\(a_i\).\(Q\)组询问,每次问一条路径上最小的出现了偶数次的编号是多少(包括零次). 多组数据,\(T\le10,n,Q,a_i\le200000\) sol 这又是一道随机化神题. 给每个编号随机一个\(unsigned\ long\ long\)范围内的权值\(val_i\). 对于一次询问,统计路径上所有编号\(\in [l,mid]\)的点的权值的异或和.如果这个异或和不等于\(val_l\otimes val_{l…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to count the total strobogrammatic numbers that exist in the range of low <= num <= high. Example: Input: low = "50"…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to determine if a number is strobogrammatic. The number is represented as a string. Example 1: Input: "69" Output: true E…
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Find all strobogrammatic numbers that are of length = n. For example,Given n = 2, return ["11","69","88","96"…
挺不错的一道数据结构题QWQ. 一开始发现这个题如果不看数据范围的话,妥妥的树上莫队啊23333,然鹅10组数据是不可能让你舒舒服服的树上莫队卡过的23333 于是想了想,这个题的模型就是,把u到v链上的权值出现奇偶次的01串搞出来,然后第一个0的位置就是所求..... 但是这个01串并不是很好搞,因为每一位都得异或啊....这样复杂度就要乘上一个 200000/32了(bitset压位),还不如树上莫队呢QWQ 不过有一种套路,叫做hash异或,我们就给每一个权值随机一个unsined lon…
题目内容:判断一个数是否为对称且不大于五位数的素数. 输入描述:输入数据含有不多于50个的正整数n(0<n<232). 输出描述:对于每个n,如果该数是不大于五位数的对称素数,则输出“Yes”,否则输出“No”.每个判断结果单独列一行. 题目分析: (1)判断它是否是五位以内的数,即该数是否小于100000. (2)判断该数是否对称,以下三种情况成立:该数是一位数或11:该数是三位数,即该数大于100且小于1000,且该数的百位数等于个位数:该数是五位数,即该数大于10000且前两位等于后两位…
题目内容:判断一个数是否为对称三位数素数.所谓“对称”是指一个数,倒过来还是该数.例如,375不是对称数,因为倒过来变成了573. 输入描述:输入数据含有不多于50个的正整数(0<n<232). 输出描述:对于每个n,如果该数是对称三位数素数,则输出“Yes”,否则输出“No”.每个判断结果单独列一行. 题目分析:素数是指只能被1和本身整除的自然数(1不是素数),前几位素数是2,3,5,7,11,13,17,19,23,27,29,31. 参考代码: #include <iostream…
P1227 [JSOI2008]完美的对称 题目描述 在峰会期间,必须使用许多保镖保卫参加会议的各国代表.代表们除了由他自己的随身保镖保护外,组委会还指派了一些其他的特工和阻击手保护他们.为了使他们的工作卓有成效,使被保卫的人的安全尽可能得到保障,保镖被分配到被保护人的各个方向. 保镖的最佳站立位置应该是这样的:被保护人应站在所有保镖的对称中心.但是,只要被保 护人一移动,保镖就很难根据要人的新位置调整位置.大多数的特工都很难对此作出实时调整. 因此,安全部长决定将该过程逆转一下,保镖先站好自己…
中心对称数 II 1.题目描述 中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看). 找到所有长度为 n 的中心对称数. 示例 : 输入: n = 2 输出: ["11","69","88","96"] 2.解题思路 (1)如果n == 0,那么返回"" (空字符串) (2)如果n == 1, 那么返回"0", "1", "…
考的这么差二试基本不用去了 不想说什么了.就把这几天听课乱记的东西丢上来吧 这里是二试乱听课笔记ZJOI2019Round#2 ZJOI Round#1 Day1 M.<具体数学>选讲 罗煜翔-宁波市镇海中学 上升/下降阶乘幂 差分和和式 差分类似求导:和式类似积分 下降幂多项式与下降幂级数 考虑如何计算两个下降幂多项式的乘积 如何处理下降幂多项式的点值? 下降幂级数在自然数处收敛,在其他数位置基本不收敛 点值的数量大概是阶乘级别的,考虑点值的指数生成函数 那么我们选取自然数生成点值.关于点值…
Python相关文档0.1. Python标准文档0.2. Python实用大全0.3. 迷人的Python0.4. 深入理解Python0.5. Python扩展库网址 http://pypi.python.org/     Python官方网址 http://www.python.org/ 列表 用[]括起来,里面可以是数值或bool或字符串 L = [95.5,85,59,True,"Last"] print L[0] print L[2] print L[1] print L…
Strobogrammatic Number I A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to determine if a number is strobogrammatic. The number is represented as a string. For example, the…
①华为笔试题搜集 1.static有什么用途?(请至少说明两种)     1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.     2) 在模块内(但在函数体外),一个被声明为静态的变量能够被模块内所用函数訪问,但不能被模块外其他函数訪问.它是一个本地的全局变量.     3) 在模块内,一个被声明为静态的函数仅仅可被这一模块内的其他函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么差别?     1) 引用必须被初始化,指针不必.  …
一道DP题: 一共有三种砖,1*2,2*1,2*2,然后要你铺满整个n*2的地板,求不重复的铺法数: 方法: 首先计算了不考虑对称的情况,然后计算只考虑对称的情况: 所以结果就是(不考虑对称数+只考虑对称数)/2: 递推关系: dp[i] 表示左右各伸展 i 的对称情况.dp[i+1] += dp[i] //两边补上 1 x 2dp[i+2] += dp[i]*2//两边补上 2x1 跟 2x2 兩种. 然后只考虑对称的情况下有两种情况: n==奇数: 中间有个1*2: n==偶数: 中间有两个…
    [题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=12406 [题意] 求最长回文子串. [思路] 将字符串反向拼接在后,中间用一个没有出现的字符隔开,则问题转化为求新字符串两个特定后缀的lcp,枚举对称点i,对称数为奇的情况对应求lcp(i,n-i),对称数为偶的情况对应求lcp(i,n-i-1). 如图所示: 两个后缀的lcp可以用Sparse Table算法(倍增)在O(nlogn)时间内求解. […
目录: 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 8.借书方案知多少 9.杨辉三角形 10.数制转换 11.打鱼还是晒网 12.抓交通肇事犯 13.该存多少钱 14.怎样存钱利最大 15.捕鱼和分鱼 16.出售金鱼 1.7 分数四则运算 17.平分七筐鱼 18.有限5位数 19. 8 除不尽的数 21.4位反序数 22.求车速 23.阿姆斯特朗数 24.完全数 26.亲密数 27.自守数 28.回文数 29.求具有abcd=(ab+c…
说说python特有的列表生成式.python的列表的生成式主要用法是什么? 用法就是可以使用简洁的代码生成出list集合. 直接用代码举了例子: 利用列表生成式生成列表[1x2,3x4,5x6,7x8,....,99x100] >>> [x*(x+1) for x in range(1,100,2)] 解析:range(1,100,2) 从1~100数字中每隔2个数字取元素. 之前在上一节讲迭代的时候,有提供zip()函数,将两个list合并成一个list.索引生成上面的列表也可以这么…
1.生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L = [] >>> for x in range(1, 11): ... L.append(x * x) ... >&g…