当前位置: 首页 > news >正文

族蚂建站济南做网站多钱

族蚂建站,济南做网站多钱,长沙企业网站开发微联讯点,1688网站简介前言#xff1a; 前天晚上写的一场牛客上比赛#xff0c;虽然只写出了三道#xff0c;但比起之前的成绩感觉自己明显有了一点进步了#xff0c;继续努力吧#xff0c; 正文#xff1a; 链接#xff1a;牛客小白月赛97_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞…前言 前天晚上写的一场牛客上比赛虽然只写出了三道但比起之前的成绩感觉自己明显有了一点进步了继续努力吧 正文 链接牛客小白月赛97_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com) A 三角形 #includebits/stdc.h using namespace std; int a[100005]; int main(){int n;cinn;for(int i1;in;i){cina[i];}sort(a1,an1);int flag0;for(int i1;in-2;i){if(a[i]a[i1]a[i1]a[i2])flag1;}if(flag)coutYESendl;else coutNOendl;return 0; } 签到题我是排序后看看有没有三个连续相等的数字。更好的做法应该是用桶排看看有没有出现次数超过三的数字其实都差不多。 B 好数组 #include bits/stdc.h using namespace std;int main() {int n,x,f1,a0;cinn;for(int i0;in;i){cinx;if(x0) f0;}if(f0) coutNOendl;else coutYESendl;return 0; } 又一道签到题只要包含0就不是好数组。 C 前缀平方和序列 #includebits/stdc.h using namespace std; int n,x; const long long mod1e97; typedef long long ll; ll quick(ll a,ll b){ll res1;while(b){if(b%2)resres*a%mod;aa*a%mod;b/2;}return res; } ll f[10005]; void init(){f[0]1;for(int i1;i10005;i){f[i]f[i-1]*i%mod;} } ll inv(ll x){return quick(x,mod-2)%mod; } int main(){init();cinnx;ll cnt(ll)sqrt(x);if(cntn){cout0endl;return 0;}//coutf[cnt] inv(f[n]) inv(f[cnt-n])endl;ll ans(f[cnt]*((inv(f[n])%mod*inv(f[cnt-n]%mod))%mod))%mod;coutansendl;return 0; } 预处理阶乘和逆元费马小定理然后求组合数注意要开long long,并且在计算过程中一定要时时取模否则会暴。 D 走一个大整数迷宫 #includebits/stdc.h using namespace std; typedef long long ll; int a[15][15],b[15][15]; bool book[15][15][10005]; ll n,m,p; ll quick(ll a,ll b,ll mod){ll res1;while(b){if(b%2)resres*a%mod;aa*a%mod;b/2;}return res; } int ne[4][2]{{0,-1},{0,1},{1,0},{-1,0}}; typedef struct stu{int x;int y;int z;int c; }node; int ans1e97; queuenode q; void bfs(int x,int y,int z,int c){node k{x,y,z,c};q.push(k);while(!q.empty()){kq.front();q.pop();if(book[k.x][k.y][k.c%(p-1)])continue;book[k.x][k.y][k.c%(p-1)]true; if(k.xnk.ymk.c%(p-1)0){ansmin(k.z,ans);break;}for(int i0;i4;i){int nxk.xne[i][0];int nyk.yne[i][1];if(nx1nxnny1nym){//coutnx ny k.z1 k.ca[nx][ny]endl;int cc(k.ca[nx][ny])%(p-1);node l{nx,ny,k.z1,cc};q.push(l);}}} } int main(){cinnmp;for(int i1;in;i){for(int j1;jm;j){cina[i][j];}}for(int i1;in;i){for(int j1;jm;j){cinb[i][j];}}bfs(1,1,0,a[1][1]);if(ans1e97)cout-1;else coutans;return 0; } 首先咱们先看c的表式方式 首先我们要知道我们最后要求的数是对p-1取模的数我们完全可以在输入的时候就将图上的数直接取模。然后我们再对Cij进行简化很容易发现对p-1取模一直都为1。 由于 可以将展开为 然后用bfs跑分层图第一、二维为x,y第三维为走到这个点时的计数器上的数对p-1取模的结果这样能避免多走但计数器取模后一样的情况。具体写法见上。如果能搜到答案就输出不然就输出-1. E 前缀和前缀最大值 #includebits/stdc.h using namespace std; int a[100005]; int pre[100005],sum[100005][101]; int main(){int n;cinn;for(int i1;in;i){cina[i];if(a[i]0)pre[i]pre[i-1]-a[i];else pre[i]pre[i-1];for(int j1;j100;j){sum[i][j]sum[i-1][j](a[i]j);}}int q;cinq;for(int i1;iq;i){int l,r,tmp0;cinlr;int tpre[r]-pre[l-1];int res0;int cnt0;for(int j1;j100;j){int ksum[r][j]-sum[l-1][j];if(k!0){if(k*jrest){cnt(t-res)/j;break;}else cntk;resk*j;//cout t cnt resendl;}}coutcnt1endl;}return 0; } 这题是我看了他发的答案才写出来的咱们首先得要知道他的A类价值数是连续的可能又相等的值但一定是一个区间内的所有数考虑 A 类价值最小的方案是从小到大排序序列 a。然后进行n 次将序列 a 的最后一个数字移动到最前面。会发现这样操作序列 a 的 A 类价值是单调不减的并且每次只移动一个数增量只可能是0 或者 1。所以可以得出一个结论A 类价值是连续的。所以我们最后只需要求他的最大A的值r和最小A值l答案就为r-l1。上界即为正数个数下界就是从小到大排的第一个正数前缀到尾的距离。 F parent 树上启发式合并待补 看着好高级。 后记 我还是太菜了。
http://www.pierceye.com/news/233895/

相关文章:

  • 郑州网站建设蝶动小公司使用的网站开发
  • 合肥网站seo技术软件开发工程师简历模板
  • org的域名网站在线取公司名字 免费
  • 网站开发有哪几个阶段百度网站官网怎么做
  • 微信网站名域名访问网站怎么下载
  • 网站源码怎么预览建站技巧
  • 织梦网站会员功能化妆品网站建设描述
  • 手机app软件定制马鞍山seo
  • 重庆网站建设 九度互联响应式网站开发工具
  • 句容市建设工程管理处网站wordpress联系表格
  • 电商网站建设流程新能源汽车价格一览表
  • 实验室网站建设的调查报告海报设计图片手绘图
  • 征求网站建设买正品东西哪个网最好
  • 网站建公司生存响应式网站特点
  • 关于公司建设网站的意义网站后台html页面
  • 麻花星空影视传媒制作公司网站朋友帮忙做网站 费用多少
  • 海口网站建设呢做健身推广网站
  • 哈尔滨网站搜索优化苏州网站建设主页
  • 35互联网站建设怎么样设计工作室宣传文案
  • php做的网站如何该样式云服务器产品介绍
  • 个人网站建设论文绪论上海it公司有哪些
  • 建设网站推广广告图郑州妇科医院哪家好些
  • 自己网站wordpress主题怎么wordpress 功能块
  • 网站制作咨询电话网站建设技术员分为前端 后端
  • 9元建站节建材 团购 网站怎么做
  • 河南城乡住房和建设厅网站公司微信网站建设方案模板下载
  • 西安制作公司网站的公司邯郸市三建建筑公司网址
  • 网站建设工作目标惠州网站网站建设
  • 就业创业网站建设微信app下载安装旧版本
  • 沧州网站备案年栾洪全单页做网站教程