Nim

[考试反思]0520省选模拟101:目的

匆匆过客 提交于 2020-08-13 02:21:59
没得说。怎么这么菜啊。 $T1$的$60$分白送的基本都不用想。 (诶那我这场考试干啥了? $T2$看着像个$min25$筛的板子。就是数据范围大了点 然而因为几乎没怎么遇到过$min25$的题,只写过一次而且还是三个月前了。 所以基本上是忘的一干二净考场上一点一点尝试想的。 结果写的混天黑地终于写完,过掉样例,就交了。 十分快乐的是:少取了个模。直接爆零。然后这场就没了。 就当是练习不熟练的知识点了(自己都不信。。。 我到现在都不知道我这么做的目的是什么。但愿不要再考场弱智了(事实上明天还是这样 T1:石子游戏 大意:$nim$。问去掉最少几堆石子后可以先手必胜。$n \le 5 \times 10^5,A \le 5 \times 10^5$ 要求出最少用多少个堆能得到和所有石子堆一样的异或值。 删掉的石子堆数是$logA$级别。否则线性基可以表出就可以去掉了。 所以暴力做$dp$是$O(n^2)$的。每一轮用$xorFWT$优化可以做到$O(nlog^2n)$。用$FWT$本质求单点点值可以做到$O(nlogn)$ 1 #include<cstdio> 2 #define S 1<<19 3 int a[S],n,t[S],T,ans; 4 void FWT( int *a){ for ( int i= 1 ;i<S;i<<= 1 ) for ( int j= 0 ;j<S

复习!

落花浮王杯 提交于 2020-08-12 15:51:05
把做过的题争取都看一遍,弄明白出现过的所有问题,省一不是问题! 具体一点的话,那就把黄题及以上写一下思路吧。(按题号) 2019年11月6日 Y P1017进制转换 将一个整数装变成某负进制 类比正进制的转换,手写一下负数的模运算(整数模运算后判负加至非负) Y P1020导弹拦截 用单调队列求最长上升子序列(nlogn),同位置下元素越小越优;最少多少条不下降子序列 <=> 最长下降子序列( Dilworth定理 ) Y P1022计算器的改良 模拟 统计等号左右两边常数和和系数和,然后移项、同分。注意退出循环的条件。wo字符串处理是真的弱啊。。 Y P1024一元三次方程求解 根据零点的性质(变号)求即可,因为题目中已经告诉解间的距离。注意区间移动时要避免在边界处重合! Y P1025数的划分 搜索|dp 原来写的搜索,现在一看先想到了dp 50ms -> 10msf[第几个数][上一个是什么][用了多少了]感性的理解上应该还可以再减枝、加记忆化。 Y P1057传球游戏 环上的dp。注意边界的处理,区分n与m的意义! 2019年11月7日 Y P1071潜伏者 模拟,题意要求每个字母都至少出现一次 Y P1076寻宝 模拟 Y P1090合并果子 贪心|哈夫曼树 由于没有位置影响所以不用dp Y P1091合唱队形 正反向各一遍求出每个点在两意义下的lis,最后O(n)求答案

Python的3个主要缺点及其解决方案,80%的人都不会

∥☆過路亽.° 提交于 2020-08-12 04:27:13
Python 问世至今已经三十年左右了,但其仅在过去几年人气迅速飙升超过了除 java 和 C 以外的其他语言。总的来说,Python 已经成为教学、学习编程和软件开发的优秀起点,而且其可以成为任何技术栈中有价值的一部分。 另外大家要注意: 光理论是不够的。这里顺便总大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交流讨教! 不幸的是,这样的流行程度也会暴露 Python 的缺点,最显著且众所周知的缺点是这三个:运算性能、打包及可执行程序的生成、项目管理 虽然这三个缺点都不是非常致命,但是和其他处于上升通道的语言如 Julia、Nim、Rust 和 Go 相比,Python 的劣势将越来越明显。 下面给大家讲讲 Python 程序员面临的这三个缺点,以及 Python 与其第三方 工具 开发人员提出的解决这些缺点的方法。 缺点一:Python 多线程和速度 Python 整体性能缓慢,有限的线程和多处理能力是其未来发展的主要障碍。 Python 长期以来一直重视编程的易用性而不是运行时的速度。当通过使用 C 或 C++ 编写的高速外部 库 (如 Numpy 和 Numba)在 Python 中完成如此多的性能密集型任务时,你会发现 Python

AtCoder Beginner Contest 172 总结

巧了我就是萌 提交于 2020-08-11 20:29:15
颓了三天端午回来打比赛,还是秒切前几道水题但做不动后面的难题,任重道远啊。 前四题思路都比较简单,C枚举一个数组的前缀和并用差值在另外一个数组里二分查找,D可以线性筛约数个数函数然后暴力算,也可以分析每个数的贡献来搞,复杂度都为O(n)。 E没有做出来是真的不爽,只想到了先考虑A,枚举一个排列 ,A确定以后对B的计算方式确实没有想到。看了题解说的容斥原理恍然大悟。先不考虑A算B有多少种排法(也是 ),然后减去至少有一位与A相同的排法( ),再加回来至少两位与A相同的排法( )...... 当年搞OI时数学的薄弱板块容斥果然没有放过本人...... F有关博弈论,涉及的Nim游戏还不太会,补了坑再回来写。 A题 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; inline int read() { int x=0,f=1;char c=getchar(); while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();} while (c>='0'&&c<='9') x=x*10+c-'0',c=getchar(); return x*f; } int main() { int n=read();

【京准电子】标准化考场时钟系统方案

拟墨画扇 提交于 2020-08-07 07:36:54
【京准电子】标准化考场时钟系统方案 【京准电子】标准化考场时钟系统方案 京准电子科技官微——ahjzsz 一、GPS信息与信息时代   信息时代的特点:一是信息量急剧增加(如需海量存储器);二是信息传输的数字化(如数字通信的发展);三是信息享用的全球化(如互联网的普及);四是信息技术应用的集成化(如ITS---智能交通系统)。   信息的主要来源:   除互联网、电视网、移动通信网外,还有很重要的卫星信息源(如导航卫星能给出最重要的位置和时间信息;遥感卫星能给出各类地球表面的遥感数据)。   GPS信息的特点:   (1)全球覆盖、全天侯、昼夜全连续地工作;(2)单向广播体制,GPS接收机不发射信号,电磁兼容性能好,可有无限多的用户。但无通信功能;(3)可实时地为地面、海上和高空的各种动态和静态用户提供高精度的七维信息(三维位置、三维速度、和精密时间)。   GPS信息的应用领域:   大致可分为三类:(1)动态的导航定位,包括陆上各类车辆、水上各种舰船以及空中各类飞机和飞行器的导航定位;(2)静态的测绘定位,广泛用於地图的测绘、矿藏的勘探、铁路、公路、隧道的建设等;(3)精密的定时和时间同步,在国际时间协调、时频计量传递、数字通信、网络技术等领域十分有用。 二、GPS时间同步的原理与技术   1、有关时间的一些基本概念:   (1)、时间(周期)与频率:   互为倒数关系

博弈论入门(Game Theory)

倾然丶 夕夏残阳落幕 提交于 2020-08-07 07:08:06
博弈论(Game Theory) 一、巴什博弈(Bash Game) 操作: 代码: 例题: 1.Brave Game 2. kiki's game 二、威佐夫博弈(Wythoff Game) 操作: 代码: 例题: 1.取石子游戏 三、尼姆博弈论(Nim Game) 操作: 代码: 例题: 1. Being a Good Boy in Spring Festival 四、斐波那契博弈论 操作: 代码: 例题: 1. 取石子游戏 五、SG函数 操作: 代码: 例题: 1. Good Luck in CET-4 Everybody! 2. S-Nim 一、巴什博弈(Bash Game) 一堆n个物品,两人从中轮流取出(1~m)个;最后取光者胜。 操作: n=k * (m+1)+r 先手拿走r个,那么后手无论拿走几个(1~m),先手只要使得拿走的和为m+1,先手就赢。 反之, n=k * (m+1) 先手无论怎么操作都会输 代码: int main ( ) { LL t ; sf ( t ) ; while ( t -- ) { LL n , m ; sf ( n ) , sf ( m ) ; if ( n % ( m + 1 ) ) printf ( "first\n" ) ; //可以把k*(m+1)这个状态给对面 else printf ( "second\n" ) ; /

7.20~7.31集训题目整理:

人盡茶涼 提交于 2020-08-06 12:14:28
7.20~7.31集训题目整理: 图论: 最短路问题 朴素Dijkstra算法 堆优化版DijkstraI 题解 有边数限制的最短路 spfa 算法(队列优化的Bellman-Ford算法) 题解 spfa判断图中是否存在负环 floyd算法 最小生成树问题 最小生成树-朴素版prim算法 Kruskal算法求最小生成树 染色法判定二分图 二分图的最大匹配 数据结构: 链表 单链表 双链表 栈 模拟栈 单调栈 队列 滑动窗口 并查集 合并集合 连通块中点的数量(维护size的并查集) 堆 堆排序 模拟堆 哈希 模拟散列表(一般哈希) 字符串哈希 搜索: 广度优先搜索 Flood Fill 池塘计数 城堡问题 山峰和山谷 最短路问题 迷宫问题 武士风度的牛 抓住那头牛 最小步数模型 八数码 多源BFS 矩阵距离 有向图的拓扑序列 家谱树 双端队列广搜 电路维修 深度优先搜索 连通性模型 迷宫 红与黑 搜索顺序 排列数字 n-皇后问题 马走日 单词接龙 剪枝与优化 小猫爬山 动态规划: 记忆化搜索 滑雪 坐标型动态规划 数字三角形 摘花生 线性动态规划 最长不下降子序列 最长公共子序列 最短编辑距离 区间动态规划 直线石子合并问题 相邻石子合并问题 背包问题 01背包问题 完全背包问题 多重背包问题 多重背包问题——二进制优化 分组背包问题 状态压缩dp 李白打酒问题 得到整数X

[考试反思]0520省选模拟101:目的

十年热恋 提交于 2020-07-28 19:12:21
没得说。怎么这么菜啊。 $T1$的$60$分白送的基本都不用想。 (诶那我这场考试干啥了? $T2$看着像个$min25$筛的板子。就是数据范围大了点 然而因为几乎没怎么遇到过$min25$的题,只写过一次而且还是三个月前了。 所以基本上是忘的一干二净考场上一点一点尝试想的。 结果写的混天黑地终于写完,过掉样例,就交了。 十分快乐的是:少取了个模。直接爆零。然后这场就没了。 就当是练习不熟练的知识点了(自己都不信。。。 我到现在都不知道我这么做的目的是什么。但愿不要再考场弱智了(事实上明天还是这样 T1:石子游戏 大意:$nim$。问去掉最少几堆石子后可以先手必胜。$n \le 5 \times 10^5,A \le 5 \times 10^5$ 要求出最少用多少个堆能得到和所有石子堆一样的异或值。 删掉的石子堆数是$logA$级别。否则线性基可以表出就可以去掉了。 所以暴力做$dp$是$O(n^2)$的。每一轮用$xorFWT$优化可以做到$O(nlog^2n)$。用$FWT$本质求单点点值可以做到$O(nlogn)$ 1 #include<cstdio> 2 #define S 1<<19 3 int a[S],n,t[S],T,ans; 4 void FWT( int *a){ for ( int i= 1 ;i<S;i<<= 1 ) for ( int j= 0 ;j<S

[考试反思]0520省选模拟101:目的

走远了吗. 提交于 2020-07-28 11:38:15
没得说。怎么这么菜啊。 $T1$的$60$分白送的基本都不用想。 (诶那我这场考试干啥了? $T2$看着像个$min25$筛的板子。就是数据范围大了点 然而因为几乎没怎么遇到过$min25$的题,只写过一次而且还是三个月前了。 所以基本上是忘的一干二净考场上一点一点尝试想的。 结果写的混天黑地终于写完,过掉样例,就交了。 十分快乐的是:少取了个模。直接爆零。然后这场就没了。 就当是练习不熟练的知识点了(自己都不信。。。 我到现在都不知道我这么做的目的是什么。但愿不要再考场弱智了(事实上明天还是这样 T1:石子游戏 大意:$nim$。问去掉最少几堆石子后可以先手必胜。$n \le 5 \times 10^5,A \le 5 \times 10^5$ 要求出最少用多少个堆能得到和所有石子堆一样的异或值。 删掉的石子堆数是$logA$级别。否则线性基可以表出就可以去掉了。 所以暴力做$dp$是$O(n^2)$的。每一轮用$xorFWT$优化可以做到$O(nlog^2n)$。用$FWT$本质求单点点值可以做到$O(nlogn)$ 1 #include<cstdio> 2 #define S 1<<19 3 int a[S],n,t[S],T,ans; 4 void FWT( int *a){ for ( int i= 1 ;i<S;i<<= 1 ) for ( int j= 0 ;j<S

计蒜客 39272.Tree-树链剖分(点权)+带修改区间异或和 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest ...

旧城冷巷雨未停 提交于 2020-05-05 21:54:05
Tree Ming and Hong are playing a simple game called nim game. They have n n piles of stones numbered 1 1 to n n ,the i i-th pile of stones has a_i a i ​ stones. There are n - 1 n − 1 bidirectional roads in total. For any two piles, there is a unique path from one to another. Then they take turns to pick stones, and each time the current player can take arbitrary number of stones from any pile. Of course, the current player should pick at least one stone. Ming always takes the lead. The one who takes the last stone wins this game. Ming and Hong are smart enough so they will make optimal