首页 > 其他分享 >XMOJ 题目笔记

XMOJ 题目笔记

时间:2024-07-04 20:42:43浏览次数:13  
标签:frac nm limits text sum 笔记 XMOJ 题目 TODO

5 月 Div.2

场切:ABCDE

F 想出正解了,但是没写对拍 100->72,痛失 AK。

5 月 Div.1

场切:A(状压 DP)

B

TODO:

C

TODO:

D

XMOJ8516

简要题意:给定 \(n\)。你需要找一个数 \(w\),以 \(w\) 为参数画格子:在前 \(\lfloor \frac n w \rfloor\) 行每行画 \(w\) 个格子;紧接下来的一行画 \(n \bmod w\) 个格子紧贴左侧;以从上往下为第一关键字,从左往右为第二关键字,依次在格子中写上 \(1 \sim n\) 的数字。(下方有图解释)从 \(1\) 开始走,可以走到相邻(四连通)格子,不能走到质数格,目标为走到 \(n\)。找一个最小的 \(w\),使得目标被满足。保证 \(n\) 不为质数。可以证明答案必然存在。\(n \le 10^{24}\)。

原 OJ 上的图片

先写 BFS 暴力,观察可得,数据较小时无规律,数据较大时答案好像只有 \(8\) 和 \(14\)。

【赛时卡在此处】接下来不难了啊,我怎么就把这题给弃了呢!但凡仔细分析一下可知,\(n\) 足够大时,\(n \bmod 8 = 1\) 且 \(n-8\) 为质数时答案为 \(14\),否则答案为 \(8\)。

MR 判质数即可。(根据 OEIS A014233,\(10^{24}\) 范围内确定性判素可以用前 \(13\) 个质数)

6 月 Div.1

场切:A(环上 DP)

B

没想出正解,但是骗分骗到 48,非常好。

TODO:

C

想出正解了,但是 100->10。

简要题意:求 \(x\) 是数列 A010062(递推式:\(a_1 = 1, a_i = a_{i-1} + \text{popcount}(a_{i-1})\))的第几项(或报告 \(x\) 不在该数列中)。\(x \le 10^{12}\)。

TODO:

D

XMOJ8627

简要题意:已知 \(n,m,k\),求用 \(k\) 种不同颜色给 \(n \times m\) 的方格染色本质不同的方案数(\(\bmod 10^9 + 7\))。两种方案本质不同,当且仅当两种方案不能通过上下左右的循环移位得到。\(n,m,k \le 10^9\)。

前置知识:Burnside 引理。

令 \((a,b)\) 表示向右移 \(a\) 位,向下移 \(b\) 位的置换。

根据 Burnside 引理,可知答案为 \(\frac 1 {nm} \sum\limits_{(a,b)} \left( (a,b) \text{下的置换不变元个数} \right)\)。

\((a,b)\) 作用下的轨道长均相同,为 \(L = \text{lcm}(\frac n {\gcd(a,n)}, \frac m {\gcd(b,m)})\)。轨道个数为 \(\frac {nm} L\)。

对于置换不变元,同一根轨道上必须染同样颜色,每根轨道的染色方案互相独立,置换不变元个数为 \(k^{\frac {nm} L}\)。

指数太抽象,所以幂运算用 \(\text{pow}\) 代替。

\[\begin{aligned} & \frac 1 {nm} \sum\limits_{a=1}^n \sum\limits_{b=1}^m \text{pow}(k, \frac {nm} {\text{lcm}(\frac n {\gcd(a,n)}, \frac m {\gcd(b,m)})}) \\ =& \frac 1 {nm} \sum\limits_{d_1 | n} \sum\limits_{d_2 | m} \text{pow}(k, \frac {nm} {\text{lcm}(\frac n {d_1}, \frac m {d_2})}) \left( \sum\limits_{a=1}^n [d_1 | a] [\frac a {d_1} \perp \frac n {d_1}]\right) \left( \sum\limits_{b=1}^m [d_2 | b] [\frac b {d_2} \perp \frac m {d_2}]\right) \\ =& \frac 1 {nm} \sum\limits_{d_1 | n} \sum\limits_{d_2 | m} \text{pow}(k, \frac {nm} {\text{lcm}(\frac n {d_1}, \frac m {d_2})}) \varphi(\frac n {d_1}) \varphi(\frac m {d_2}) \\ =& \frac 1 {nm} \sum\limits_{D_1 | n} \sum\limits_{D_2 | m} \text{pow}(k, \frac {nm} {\text{lcm}(D_1, D_2)}) \varphi(D_1) \varphi(D_2) \\ \end{aligned}\]

精细实现一点,分解质因数顺便把 \(\varphi\) 处理好,复杂度 \(O(d(n)d(m)(\log n + \log m))\)。

7 月 TG Day 1 图论

切 BCDEF。

A

XMOJ3353 是 BZOJ 原题。

简要题意:给定图,求 \(1 \to n\) 最短路。\(n \le 10^6, m \le 10^7\)。每个数据中有部分为随机生成。空间 256MB。

vector 存图会爆空间,需要用链式前向星。

直接二叉堆优化 Dijkstra 可过(\(O(m \log m)\) 为什么能过啊喂)。用 pbds 配对堆会 MLE。

卡常数:dis[n] 被求出之后直接退出 Dijkstra。

7 月 TG Day 2 膜你赛

A

是 NOIP 2006 原题,直接贴洛谷链接:P1066 [NOIP2006 提高组] 2^k进制数

场上懒得写高精度,用 int128 得 80pts。这样的策略事后证明是对的,我赛后高精度调了半天。

B

是 USACO 原题,直接贴洛谷链接:P3047 [USACO12FEB] Nearby Cows G

TODO:

C

TODO:

D

是 USACO 原题,直接贴洛谷链接:P1848 [USACO12OPEN] Bookshelf G

TODO:

7 月 TG Day 3 数据结构

切 ABCE。

TODO:

7 月 TG Day 4 膜你赛

个人评价:T1 黄 / 绿、T2 绿、T3 黄、T4 黄。

场切:A(种类并查集)

C 2log 被卡常 100->80,标答是基数排序,非常生气。

D(树状数组)场上写对忘交了 100->15,很傻逼。

B

TODO:

7 月 TG Day 5 ???

标签:frac,nm,limits,text,sum,笔记,XMOJ,题目,TODO
From: https://www.cnblogs.com/AugustLight/p/-/XMOJ-Note

相关文章

  • ROS学习笔记(三、ros节点使用)
    对于ros节点的理解部分:节点(nodes)是ros中一个很重要的部分,一个节点等价于一个可执行文件。通俗理解就是:我们所有写的代码,脚本都是需要执行的,因此需要将我们写的代码等转化成一个ros中可以执行的文件,这个可执行文件在ros中称为节点。一个节点可以通过ros与其他节点进行一个通......
  • 题目-计算是周几
    #include<bits/stdc++.h>usingnamespacestd;intmain(){inta,b,c=1;cin>>a>>b;for(inti=1;i<=b;i++){c*=a;c%=7;}if(c==0){cout<<"Sunday";}......
  • 信息素养大赛题目 小旗手 AC代码分享
    /*AC*程序思路:*1.定义票数数组x,标记数组a,人数n,max1(最大值比较变量),maxi(最大值下标变量)*2.输入人数,票数数组的第一票*3.循环通过数学表达式((x[i-1]*37+33031)%n)+1递推计算票数并存入票数数组x*4.将a数组的x[i]位置+1(桶标记,将这个学号的获票数+1)*5.遍历a......
  • web学习笔记(七十五)
    目录1.小程序修改响应式数据1.1修改基本数据类型的值1.2修改复合数据类型的值2.发送请求3.小程序解决跨域问题 1.小程序修改响应式数据1.1修改基本数据类型的值在小程序中需要先将data中的数据拿过来并结构,才可以在this.setdata中修改数据,在页面中可以多次编写this......
  • app一键退出功能---笔记
    问题本质包含两个部分1.一键结束当前所有的activity2.一建结束当前的app进程方式一,采用Activity的启动模式SingleTask将app入口的activity设置成singleTask模式,在xml中进行配置。在activity中重写onNewIntent().优点:使用方便简单,缺点:1.规定了app入口activity采用sing......
  • 【步进电机梯形加减速--原子哥笔记】
    简介说明:具体看正点原子电机例程文件步进电机因其无需反馈就能对位置和速度进行控制而在工业自动化设备中的应用极为广泛,如下图所示,假设该装置使用步进电机实现物体X的移动,系统要求从A点出发,到B点停止,移动的时间越短越好且系统稳定。根据步进电机的特性,最大程度加......
  • 【python学习笔记】Python装饰器
    装饰器参考:搞懂Python装饰器Python@wraps修饰器装饰器是什么有兴趣的可以参考PEP318的原文DecoratorsforFunctionsandMethods解释了语法用途以及设计出来装饰器的动机Thecurrentmethodfortransformingfunctionsandmethods(forinstance,declaringthem......
  • 06-Excel初阶操作-学习笔记
    SUMIF和SUMIFS单(多)条件求和函数函数格式参数说明SUMTIF(参数1,参数2,参数3)参数1:区域参数2:符合条件参数3:求和区域SUMIFS(参数1,参数2,参数3,参数4,……)参数1:求和区域参数2:区域参数3:符合条件参数4:区域……基础应用SUMTIF(参数1,参数2,参数3)......
  • C#题目问答
    目录1.整数转换,整数和字符串,字符串和整数之间的转换怎么实现?2.日期转换,获取当前日期,字符串转日期,日期转字符串怎么实现?3.举例一维、二维、三维数组。4.需求:有个88笔费用记录,总额3亿,金额在300万~800万之间,随机数如何实现?并记录总耗时。5.简述常见的集合类型的存储结构和它......
  • 地球科学数据学习笔记---流向与风向、浪向
    一、流向(current)流向一般指流体前进的方向、去向,一般以正北方向为正,例如流体从南流向北,则流向为0°,其示意图如下二、风向与浪向风向与浪向一般都指来向,与流向相反,例如风从南吹向北,则为南风,风向为180°。气象数据中一般会将风速数据存成u、v两个分量(雷达数据除外),u分量表示......