7.22 校内模拟赛
题面和数据 : 二次联通门
难度 : 普及-
/*T1 求多项式结果的后k位,由于k<=8, 所以不必考虑高精了,直接把多项式一遍算,一边取模,注意用快速幂,最后补0输出即可。复杂度 O (n log b) */ #include <cstdio>#define Max 100090void read (int &now) {register char word = getchar ();bool temp = false;for (now = 0; word < '0' || word > '9'; word = getchar ())if (word == '-')temp = true;for (; word >= '0' && word <= '9'; now = now * 10 + word - '0', word = getchar ());if (temp)now = -now; }int Mod = 1; int N, K, X;int a[Max], b[Max];long long Fast_Pow (long long x, long long p) {register long long res = 1;for (; p; p >>= 1){if (p & 1)res = res * x % Mod;x = x % Mod * x % Mod;}return res; }#define Judge long long Answer;int number[Max / 1000];int main (int argc, char *argv[]) {#ifdef Judgefreopen ("digits.in", "r", stdin);freopen ("digits.out", "w", stdout);#endif read (N);read (K);for (int i = 1; i <= N; i ++){read (a[i]);read (b[i]);}for (int i = K, res = 10; i; i >>= 1){if (i & 1)Mod = Mod * res;res *= res;}read (X);for (int i = 1; i <= N; i ++)Answer = (Answer + (a[i] * Fast_Pow (X, b[i]) % Mod)) % Mod; int Count = 0;for (; Answer > 0; number[++ Count] = Answer % 10, Answer /= 10);for (int i = Count; i < K; i ++, printf ("0\n"));for (; Count >= 1; printf ("%d\n", number[Count --]));return 0; }
/*T2把多项式左边的负项移到右边, O(N^3)预处理出右边的结果,用一个桶记录下来,后O(N^3)枚举左边的结果, 加减就好了 复杂度O(N^3) */ #include <cstdio>#define Max 60000002#define N 6void read (int &now) {register char word = getchar ();bool temp = false;for (now = 0; word < '0' || word > '9'; word = getchar ())if (word == '-')temp = true;for (; word >= '0' && word <= '9'; now = now * 10 + word - '0', word = getchar ());if (temp)now = -now; }#define Judgeint K;short z_count[Max]; short f_count[Max];int a1, a2, a3, a4, a5, a6;int main (int argc, char *argv[]) {#ifdef Judge freopen ("equation.in", "r", stdin);freopen ("equation.out", "w", stdout);#endifread (K);read (a1);read (a2);read (a3);read (a4);read (a5);read (a6); register int x;for (register int i = 1, j, k; i <= K; i ++)for (j = 1; j <= K; j ++)for (k = 1; k <= K; k ++){x = a2 * i + a4 * j + a6 * k;if (x >= 0)z_count[x] ++;elsef_count[-x] ++;}int Answer = 0;for (register int i = 1, j, k; i <= K; i ++)for (j = 1; j <= K; j ++)for (k = 1; k <= K; k ++){x = a1 * i + a3 * j + a5 * k;if (x >= 0)Answer += z_count[x];elseAnswer += f_count[-x];}printf ("%d", Answer);return 0; }
/*T3 由于k>=n,所以一天最多走一条边,则问题转化为了求最小瓶颈生成树的裸题。。。。若一直到最后起点与终点都不联通,那么则无解复杂度 O(M logM + M) = O (M log M) */ #include <algorithm> #include <cstdio>#define Max 8000void read (int &now) {register char word = getchar ();for (now = 0; word < '0' || word > '9'; word = getchar ());for (; word >= '0' && word <= '9'; now = now * 10 + word - '0', word = getchar ()); }inline int max (int a, int b) {return a > b ? a : b; }struct Edge {int from;int to;int dis;bool operator < (const Edge &now) const{return this->dis < now.dis;} };class Unio_Find_Set {private :int father[Max];public :void Prepare (int N){for (int i = 1; i <= N; i ++)father[i] = i;}int Find (int x){return father[x] == x ? x : father[x] = Find (father[x]);}inline void Unio (int a, int b){father[a] = b;} };Unio_Find_Set Ufs;int N, M, K;Edge edge[Max * 30]; #define Judgeint main (int argc, char *argv[]) {#ifdef Judge freopen ("graph.in", "r", stdin);freopen ("graph.out", "w", stdout);#endifread (N);read (M);read (K);for (int i = 1; i <= M; i ++){read (edge[i].from);read (edge[i].to);read (edge[i].dis);}Ufs.Prepare (N);std :: sort (edge + 1, edge + 1 + M);int Count = 0;for (register int i = 1, x, y; i <= M; i ++){x = Ufs.Find (edge[i].from);y = Ufs.Find (edge[i].to);if (x != y){Ufs.Unio (x, y); Count ++;}if (Ufs.Find (1) == Ufs.Find (N)){printf ("%d", edge[i].dis);return 0;}if (Count == N - 1)break;}printf ("-1");return 0; }
转载于:https://www.cnblogs.com/ZlycerQan/p/7221422.html
7.22 校内模拟赛相关推荐
- 2021年 第十二届蓝桥杯第二期校内模拟赛题解(Java版)
时隔多日,终于会写一些简单DP了哈哈哈! 稍微改版,方便阅读,若有错,请指出 2019年 第十届蓝桥杯省赛题解(JavaB组版) 2020年 第十一届蓝桥杯第一场省赛题解(JavaB组版) 2020年 ...
- 第十四届蓝桥杯校内模拟赛第一期——Python
第十四届蓝桥杯校内模拟赛第一期--Python 文章目录 第十四届蓝桥杯校内模拟赛第一期--Python 1.二进制位数 问题描述 参考答案 扩展 2. 晨跑 问题描述 参考答案 扩展 3. 调和级数 ...
- [蓝桥杯第十一届校内模拟赛] Apare_xzc
华中师范大学蓝桥杯第十一届校内模拟赛 2020/3/22 8:00-12:00 题目还是比省赛要简单的,我9:25就做完了. 第一题 分析: 简单题,求给定的1200000的正约数的个数.我们可以暴力 ...
- 2017.6.11 校内模拟赛
题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...
- 第十四届蓝桥杯校内模拟赛第二期-Java个人题解(仅供参考)
刚刚结束第十四届蓝桥杯校内模拟赛第二期,在这记录下自己的代码 不保证正确! 不保证正确! 不保证正确! 有问题一起改正!! 题解 2048 代码: package _14届模拟2;public cla ...
- 蓝桥杯校内模拟赛_C++组
蓝桥杯校内模拟赛 填空题 填空题比较简单,只需要在空格中填写整数答案即可: 在计算机存储中,15.125GB是多少MB? 解题思路: 1GB=1024MB,打开系统计算器计算即可 答案: 15488 ...
- 【蓝桥】软件校内模拟赛(二)反倍数 题目+题解
文章目录 前言 反倍数 题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问题 题意理解错误,导致答案错误. 代码中存在一些问题,导致答案错误. 算法复杂度 ...
- 【蓝桥】第十一届软件类校内模拟赛(二)填空题部分
起晚了起晚了,比赛都快结束了才整完qwq 文章目录 前言 填空题 1题目描述 2题目描述 3题目描述 4题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问 ...
- 【蓝桥】第十一届软件类校内模拟赛(一)
前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问题 题意理解错误,导致答案错误. 代码中存在一些问题,导致答案错误. 算法复杂度的分析有误,导致不能在规定时间内得 ...
最新文章
- 提高性能:用RequireJS优化Wijmo Web页面
- 实验三:XML模型(二)
- vue el-upload上传组件限制文件类型:accept属性
- mysql5.7.24免安装版配置_mysql5.7.20免安装版配置方法图文教程
- Excel实用函数大全(名称、功能、说明、用法、举例)
- pythonqt4上位机开发_「新阁教育」自由口通信上位机实战案例
- win7 删除Windows服务的方法
- [html] HTML5中的article和section有什么区别?
- 调试某游戏副本中的加亮提示信息思路
- 用TensorFlow做Kaggle“手写识别”达到98%准确率-详解
- es6 去掉空格_es6 filter() 数组过滤方法总结
- 【POJ2676】Sudoku(优化搜索顺序)
- oracle sqlplus ed,Uedit32与SQLPlus结合使用技巧-数据库专栏,ORACLE
- 2016年回顾2017年目标之流水账
- PHP的类中的常量,静态变量的问题。
- 天地图JS API制作专题图
- C语言-顺序栈的基本操作
- GB2312-80 汉字机内码
- 21世纪青年人最该阅读的书籍清单
- 计算机课搞事情检讨,考试作弊被抓写的检讨书(精选10篇)
热门文章
- 比explain更加详细的分析计划:Query Profiler
- 多层感知器(MLP)详解【基于印第安人糖尿病数据】
- 【深度学习入门到精通系列】R2 Unet解释
- Windows环境下配置环境变量
- mysql sha1prng_Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException | 学步园...
- python中使用函数编程的意义_总结Python编程中函数的使用要点
- phpexecl保存mysql_【PHP】将数据库表保存为Excel(PHPExcel)
- python实现简易版成绩管理系统_Python 实现简易版成绩管理系统!
- python科学计数法转换_柳小白Python学习笔记35 Excel之科学计数法类型转换及数据选取1...
- mysql如何插入新的字段_Mysql 如何 得到新插入的字段ID