热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【2019.8.30】Za

Za2019.8.30SDOI2011计算器[BZOJ2242][luoguP2485]1、给定y、z、p,计算y^zmodp的值;2、给定y、z、p&

Za 2019.8.30

SDOI2011 计算器

[BZOJ2242] [luoguP2485]

1、给定y、z、p,计算y^z mod p 的值;

2、给定y、z、p,计算满足xy ≡z(mod p)的最小非负整数x;

3、给定y、z、p,计算满足y^x ≡z(mod p)的最小非负整数x。

第一个要求直接快速幂

第二个要求因为保证P为质数 直接费马小定理求逆元然后*z

第三个就是BSGS模板

==打的时候1mol错 要注意该加括号的就加括号 不要图简便啥的不加 然后就long long

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
#define Abs(x) ((x)<0?-(x):(x))
#define Max(x,y) ((x)>(y)?(x):(y))
#define Min(x,y) ((x)<(y)?(x):(y))
const int N&#61;10000&#43;5,M&#61;20000&#43;5,INF&#61;1e9&#43;7,inf&#61;0x3f3f3f3f;
int y,z,p;
template void rd(t &x){x&#61;0;int w&#61;0;char ch&#61;0;while(!isdigit(ch)) w|&#61;ch&#61;&#61;&#39;-&#39;,ch&#61;getchar();while(isdigit(ch)) x&#61;(x<<1)&#43;(x<<3)&#43;(ch^48),ch&#61;getchar();x&#61;w?-x:x;
}int qpow(int a,int b){int res&#61;1;while(b){if(b&1) res&#61;(ll)a*res%p;a&#61;(ll)a*a%p,b>>&#61;1;}return res;
}maphash;
int BSGS(){hash.clear();y%&#61;p,z%&#61;p;if(!y) return -1;int t&#61;(int)sqrt(p)&#43;1;for(int j&#61;0,val;j&#61;0&&i*t-j>&#61;0) return i*t-j;}return -1;
}void work2(){if(!(y%p)&&z%p) puts("Orz, I cannot find x!");else printf("%lld\n",(ll)qpow(y,p-2)*z%p);
}
void work3(){int ans&#61;BSGS();if(ans&#61;&#61;-1) puts("Orz, I cannot find x!");else printf("%d\n",ans);
}int main(){freopen("in.txt","r",stdin);int T,K;rd(T),rd(K); while(T--){rd(y),rd(z),rd(p);if(K&#61;&#61;1) printf("%d\n",(qpow(y,z))%p);else if(K&#61;&#61;2) work2();else work3();}return 0;
}

luogu4884 多少个1&#xff1f;

给定整数\(K\)和质数\(m\)&#xff0c;求最小的正整数\(N\)&#xff0c;使得 \(1111⋯1(N个1)\equiv K(mod\;m)\)

说人话&#xff1a;就是\(111...1111\; mod\;m &#61;K\)

\(1111⋯1(N个1)\)乘9得\(9999⋯9(N个9)\)\(&#43;1\)\(10^N\)

即求x使得\(10^x\equiv K*9&#43;1(mod\;m)\)

题解里的玄学快速乘

好像noip啥的不支持_int128 那就先不学了

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
#define Abs(x) ((x)<0?-(x):(x))
#define Max(x,y) ((x)>(y)?(x):(y))
#define Min(x,y) ((x)<(y)?(x):(y))
const int N&#61;10000&#43;5,M&#61;20000&#43;5,INF&#61;1e9&#43;7,inf&#61;0x3f3f3f3f;
ll y,z,p;
template void rd(t &x){x&#61;0;int w&#61;0;char ch&#61;0;while(!isdigit(ch)) w|&#61;ch&#61;&#61;&#39;-&#39;,ch&#61;getchar();while(isdigit(ch)) x&#61;(x<<1)&#43;(x<<3)&#43;(ch^48),ch&#61;getchar();x&#61;w?-x:x;
}ll mul(ll a, ll b){ll L &#61; a * (b >> 25LL) %p* (1LL <<25) %p;ll R &#61; a * (b & ((1LL <<25) - 1)) %p;return (L &#43; R) %p;
}ll qpow(ll a,ll b){ll res&#61;1;while(b){if(b&1) res&#61;mul(a,res)%p;a&#61;mul(a,a)%p,b>>&#61;1;}return res;
}maphash;
ll BSGS(){hash.clear();y%&#61;p,z%&#61;p;int t&#61;sqrt(p)&#43;1;for(int i&#61;0;i&#61;0&&(ll)i*t-j>&#61;0) return (ll)i*t-j;}return -1;
}int main(){freopen("in.txt","r",stdin);rd(z),rd(p);y&#61;10ll,z&#61;(z<<3)&#43;z&#43;1;ll ans&#61;BSGS();printf("%lld",ans);return 0;
}

exbsgs

银河英雄传说

重新打了一遍

带权并查集

#include
#include
#include
#include
#include
using namespace std;
#define Abs(x) ((x)<0?-(x):(x))
const int N&#61;30000&#43;5,M&#61;20000&#43;5,INF&#61;1e9&#43;7,inf&#61;0x3f3f3f3f;
int n,f[N];
template void rd(t &x){x&#61;0;int w&#61;0;char ch&#61;0;while(!isdigit(ch)) w|&#61;ch&#61;&#61;&#39;-&#39;,ch&#61;getchar();while(isdigit(ch)) x&#61;(x<<1)&#43;(x<<3)&#43;(ch^48),ch&#61;getchar();x&#61;w?-x:x;
}int d[N],sz[N];
int find(int x){if(x&#61;&#61;f[x]) return x;int rt&#61;find(f[x]);d[x]&#43;&#61;d[f[x]];return f[x]&#61;rt;
}
void Merge(int x,int y){f[x&#61;find(x)]&#61;y&#61;find(y),d[x]&#61;sz[y],sz[y]&#43;&#61;sz[x];
}int main(){freopen("in.txt","r",stdin);int T,x,y;char opt[5];rd(T);for(int i&#61;1;i<&#61;30000;&#43;&#43;i) f[i]&#61;i,sz[i]&#61;1;while(T--){scanf("%s",opt);rd(x),rd(y);if(opt[0]&#61;&#61;&#39;M&#39;) Merge(x,y);else{if(find(x)!&#61;find(y)) puts("-1");else printf("%d\n",Abs(d[x]-d[y])-1);}}return 0;
}

1930来的先生

卿卿吾愛&#xff0c;見字如晤&#xff1a;
  體無恙否&#xff1f;心安樂否&#xff1f;藝人之工作順利否&#xff1f;
  屈指算來&#xff0c;吾與汝七日未見&#xff0c;人言一日不見&#xff0c;如隔三秋&#xff0c;七日之長&#xff0c;煎熬甚苦。人生苦短如斯&#xff0c;言語小恚&#xff0c;便有這許多煎熬&#xff0c;若他日真作計較&#xff0c;又當何以自處&#xff1f;思來想去&#xff0c;日夜翻覆&#xff0c;更覺會日何短&#xff0c;隔日何長&#xff1f;憂思何繁&#xff0c;歡顏何驟&#xff1f;
  吾心愛汝&#xff0c;願見歡顏&#xff0c;恨吾怨吾&#xff0c;皆吾自取。當日失言&#xff0c;悔之不及。前日電訊致歉&#xff0c;卿定有閱之&#xff0c;閱而不復&#xff0c;非卿之過&#xff0c;是吾書未達意&#xff0c;辭未達情。游目天地&#xff0c;何以悅卿&#xff1f;雖天涯海角&#xff0c;卿所樂之&#xff0c;吾必往之&#xff0c;幽王癡情&#xff0c;敢笑薄之——此等甘辭蜜語&#xff0c;不能訴吾衷情于一二&#xff0c;卿心明澈&#xff0c;願可鑒之。
  論愛侶之屬&#xff0c;愛之尤甚&#xff0c;怨懟尤多&#xff0c;相思酷刑&#xff0c;甚于斧鉞。吾與卿七日未見&#xff0c;此卿卿于吾小懲大誡&#xff0c;吾必銘記於心&#xff0c;定無再犯。昨日歸家途中&#xff0c;見有春梅余香枝頭&#xff0c;衷情難表&#xff0c;癡意難訴&#xff0c;春意兩瓣&#xff0c;托于鴻雁。東君有意&#xff0c;顧惜芳春&#xff0c;卿卿當如東君&#xff0c;顧惜吾心。
  最后一张纸只有两行正楷大字&#xff1a;
  以上那些我知你必定看不懂&#xff0c;只看這最後兩句罷&#xff1a;我在你樓下等你&#xff0c;一起去閱江樓吃龍蝦。

[USACO]道路与航线

[BZOJ2200] [luoguP3008]

咕了&#xff01;

#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef pairpii;
const int N&#61;25000&#43;5,M&#61;50000&#43;5,INF&#61;1e9&#43;7,inf&#61;0x3f3f3f3f;
int n,r,p,s,in[N];
template void rd(t &x){x&#61;0;int w&#61;0;char ch&#61;0;while(!isdigit(ch)) w|&#61;ch&#61;&#61;&#39;-&#39;,ch&#61;getchar();while(isdigit(ch)) x&#61;(x<<1)&#43;(x<<3)&#43;(ch^48),ch&#61;getchar();x&#61;w?-x:x;
}int hd[N],tt&#61;1;
struct edge{int v,w,nxt;}e[M<<2];
void add(int u,int v,int w){e[&#43;&#43;tt]&#61;(edge){v,w,hd[u]},hd[u]&#61;tt;
}int bl[N],cnt&#61;0;
vectorblo[N];
void dfs(int u){bl[u]&#61;cnt,blo[cnt].push_back(u);for(int i&#61;hd[u],v;i;i&#61;e[i].nxt)if(!bl[v&#61;e[i].v]) dfs(v);
}int dis[N];bool vis[N];
void topsort(){memset(dis,inf,sizeof(dis));memset(vis,0,sizeof(vis));queueQ;dis[s]&#61;0;//,Q.push((bl[s]))for(int i&#61;1;i<&#61;cnt;&#43;&#43;i) if(!in[i]) Q.push(i);priority_queue,greater >q;while(!Q.empty()){int k&#61;Q.front();Q.pop();for(int i&#61;0,x;idis[u]&#43;(w&#61;e[i].w)){dis[v]&#61;dis[u]&#43;w;if(bl[v]&#61;&#61;bl[u]) q.push((make_pair(dis[v],v)));}if(bl[u]!&#61;bl[v]&&!(--in[bl[v]])) Q.push(bl[v]);}}}
}int main(){freopen("in.txt","r",stdin);rd(n),rd(r),rd(p),rd(s);for(int i&#61;1,u,v,w;i<&#61;r;&#43;&#43;i) rd(u),rd(v),rd(w),add(u,v,w),add(v,u,w);for(int i&#61;1;i<&#61;n;&#43;&#43;i) if(!bl[i]) &#43;&#43;cnt,dfs(i);for(int i&#61;1,u,v,w;i<&#61;p;&#43;&#43;i)rd(u),rd(v),rd(w),add(u,v,w),&#43;&#43;in[bl[v]];topsort();for(int i&#61;1;i<&#61;n;&#43;&#43;i)if(dis[i]>&#61;1e9) puts("NO PATH");else printf("%d\n",dis[i]);return 0;
}

USACO cow relays

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
#define Abs(x) ((x)<0?-(x):(x))
#define Max(x,y) ((x)>(y)?(x):(y))
#define Min(x,y) ((x)<(y)?(x):(y))
typedef pairpii;
const int N&#61;1e6&#43;5,M&#61;200&#43;5,INF&#61;1e9&#43;7,inf&#61;0x3f3f3f3f;
int n,m,s,t,id[N];
template void rd(t &x){x&#61;0;int w&#61;0;char ch&#61;0;while(!isdigit(ch)) w|&#61;ch&#61;&#61;&#39;-&#39;,ch&#61;getchar();while(isdigit(ch)) x&#61;(x<<1)&#43;(x<<3)&#43;(ch^48),ch&#61;getchar();x&#61;w?-x:x;
}struct mp{int v[M][M];mp operator *(const mp &x)const{mp c;memset(c.v,inf,sizeof(c.v));for(int k&#61;1;k<&#61;id[0];&#43;&#43;k)for(int i&#61;1;i<&#61;id[0];&#43;&#43;i)for(int j&#61;1;j<&#61;id[0];&#43;&#43;j)c.v[i][j]&#61;Min(c.v[i][j],v[i][k]&#43;x.v[k][j]);return c;};
}a;int main(){
// freopen("in.txt","r",stdin);rd(n),rd(m),rd(s),rd(t);memset(a.v,inf,sizeof(a.v));for(int i&#61;1,u,v,w;i<&#61;m;&#43;&#43;i){rd(w),rd(u),rd(v);if(!id[u]) id[u]&#61;&#43;&#43;id[0];if(!id[v]) id[v]&#61;&#43;&#43;id[0];a.v[id[u]][id[v]]&#61;a.v[id[v]][id[u]]&#61;Min(a.v[id[u]][id[v]],w);}mp res&#61;a;--n;while(n){if(n&1) res&#61;res*a;a&#61;a*a,n>>&#61;1;}printf("%d",res.v[id[s]][id[t]]);return 0;
}

转:https://www.cnblogs.com/lxyyyy/p/11437376.html



推荐阅读
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
author-avatar
漫瀚聆静
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有