上午[XJOI] NOIP训练37

T1 同余方程

Problem description

已知一个整数a,素数p,求解 $x^{2}\equiv a(mod p) $ 是否有整数解

Solution

据说是二次剩余

作为一个蒟蒻,非常不正经的来证一下

由于p是质数,所以

(1) 当p=2,则一定有解

(2) 如果p<>2

\(x\equiv a^{\frac{1}{2}}(mod p)\)

\(x^{p-1}\equiv a^{\frac{p-1}{a}}(modp)\)

又因为费马小定理

\(x^{p-1}\equiv 1(modp)\)

所以\(a^{\frac{p-1}{2}}\equiv 1(modp)\),

这样就很完美的得到了答案

Code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll T,a,p,ans;
ll pow(ll a,ll b){
ll res=1,base=(b-1)/2;
if (a==0) return 0;
while(base){
if (base&1) res=res*a%b;
base>>=1; a=a*a%b;
}
return res;
}
int main(){
scanf("%d",&T);
while (T--){
scanf("%lld%lld",&a,&p);
ans=pow(a,p);
if (ans==1) printf("YES\n");
else printf("NO\n");
}
}

T2 重复串

Problem description

求最少删掉几个字符,使得最后答案成为重复串

Solution

这可能是我做过最简单的T2吧,

最暴力的O(\(n^{3}\))Dp,枚举中点,然后做一个lcs

T3 摘苹果

Solution

直接进行树上贪心,对于每个节点,将它的每个子节点当做一个叶子结点(及合并了子树的信息),

然后找出最大的l,然后判断哪些子节点的r小于这个l,那么这说明只能独立减掉。

其他的节点则可以合并到根节点上,变成一个节点,只是lr变了一下而已。

(此段文字为whc大佬所言) 在此%%%whc

Code

#include<bits/stdc++.h>
using namespace std;
int l,r,ans=0;
void dfs(int &l,int &r){
int k,x,y;
l=0; scanf("%d",&k);
if (k==0) scanf("%d%d",&l,&r);
else {
vector <int> a;
for (int i=0;i<k;++i)
dfs(x,y),l=max(l,x),a.push_back(y);
sort(a.begin(),a.end());
for (int i=0;i<k;++i)
if (a[i]<l) ++ans;
else{
r=a[i]; return;
}
}
}
int main(){
dfs(l,r);
printf("%d",ans+1);
return 0;
}

下午及晚上

非常快的迅速订完题目,然后的然后,我也不知道了


一日总结

今天破天荒的用了一下markdown来写博客

对于这个不能调字体我也是非常无奈啊

决定如果没有数学题,绝不用markdown

还有这里我要严重吐槽一下各科老师,对!所有老师!

一次又一次的加深了我对xj的**感情

当然我会努力只在这里呆一年的,但对于在这儿的每一天,我一定都会过好

9.19[XJOI] NOIP训练37的更多相关文章

  1. 9.18[XJOI] NOIP训练36

    ***在休息了周末两天(好吧其实只有半天),又一次投入了学车的怀抱,重新窝在这个熟悉的机房 今日9.18(今天以后决定不写打卡了) 日常一日总结 一个昏昏欲睡的早晨 打了一套不知道是谁出的题目,空间限 ...

  2. 9.14[XJOI] NOIP训练33

    今日9.14 洛谷打卡:大凶!!!(换个字体玩玩qwq) -------------------------------------------------------- 一个超颓的上午 今天又是fl ...

  3. 9.13[XJOI] NOIP训练32

    今日9.13 洛谷打卡:小吉(今天心情不错,决定取消密码) (日常记流水账) 上午 今天听说是鏼鏼的题目,题面非常的清真啊,也没有当初以为的爆零啊 T1 排排坐 非常非常清真的模拟或是结论题,再次将难 ...

  4. Noip 训练指南

    目录 Noip 训练指南 图论 数据结构 位运算 期望 题解 Noip 训练指南 目前完成 \(4 / 72\) 图论 [ ] 跳楼机 [ ] 墨墨的等式 [ ] 最优贸易 [ ] 泥泞的道路 [ ] ...

  5. 2018.10.19 NOIP训练 变化的序列(线性dp)

    传送门 f[i][j]f[i][j]f[i][j]表示后iii个对答案贡献有jjj个a的方案数. 可以发现最后a,ba,ba,b的总个数一定是n∗(n−1)/2n*(n-1)/2n∗(n−1)/2 因 ...

  6. 2018.10.19 NOIP训练 桌子(快速幂优化dp)

    传送门 勉强算一道dp好题. 显然第kkk列和第k+nk+nk+n列放的棋子数是相同的. 因此只需要统计出前nnn列的选法数. 对于前mmm%nnn列,一共有(m−1)/n+1(m-1)/n+1(m− ...

  7. 2018.10.19 NOIP训练 游戏问题(分组背包)

    传送门 分组背包经典问题. 令f[i][j]f[i][j]f[i][j]表示前iii组花费为jjj的最优值. g[i][j]g[i][j]g[i][j]表示前iii组,第iii组已经支付了平台费用的最 ...

  8. 2018.10.19 NOIP训练 yk赚钱记(01分数规划)

    传送门 其实是一个裸的最优比率生成树. 注意精度的控制就行了. 代码

  9. test20190803 夏令营NOIP训练19

    60+100+0=160 贪婪大陆 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败--人类被蚂蚁们逼到了Greed Island上的一个海湾.现在,小FF的后方是一望无际的大海, 前 ...

随机推荐

  1. sqlserver查询分析器在本地服务器查看其它SqlServer服务器内容

    exec sp_addlinkedserver 服务器自命名,'',sqloledb,要查询服务器的IP地址 exec sp_addlinkedsrvlogin 服务器自命名,false,null,账 ...

  2. session 存入redis 或 memcache 的方法

      Session简介 session,中文经常翻译为会话,其本来的含义是 指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session.有时候我们 ...

  3. github+hexo(window10)

    一.申请github账户 二.先安装node.js.git 本地: 三.安装hexo(建立静态网页,用Markdown写博客) 1.创建文件地址 在合适的地方新建一个文件夹,用来存放自己的博客文件,比 ...

  4. UVA489 - Hangman Judge【紫书例题4.2】

    题意:就是给出一个字符串,让你去一个一个猜测,相同字母算一次,如果是之前猜过的也算错,如果你在错7次前猜对就算你赢,文章中是LRJ的例题代码. #include<stdio.h> #inc ...

  5. Python列表、集合与字典(3)

    目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识   列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系.   在Pytho ...

  6. redis liunx系统安装

    同事总结非常好,借鉴一下 原文地址:https://www.cnblogs.com/dslx/p/9291535.html redis安装 下载redis的安装包上传到Linux服务器,安装包如下 h ...

  7. Codeforces 947E Perpetual Subtraction (线性代数、矩阵对角化、DP)

    手动博客搬家: 本文发表于20181212 09:37:21, 原地址https://blog.csdn.net/suncongbo/article/details/84962727 呜啊怎么又是数学 ...

  8. 洛谷 P3227 BZOJ 3144 [HNOI2013]切糕

    题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑且和谐.于是她找到你,希望你能帮她找出最好的切割方案 ...

  9. Java基础教程:tutorialspoint-spring mvc

    教程: 来自turorialspoint的Spring MVC 4.1.6教程(英文),官网:https://www.tutorialspoint.com/springmvc/index.htm 离线 ...

  10. Ruby 读取文件

    Ruby 读取文件 一次全读出来 textAll = File.read("fileName.txt") puts textAll 一次读取一行 file = File.open( ...