博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF1155E Guess the Root
阅读量:7154 次
发布时间:2019-06-29

本文共 2342 字,大约阅读时间需要 7 分钟。

题意:交互,有一个10次多项式,你可以询问50次当x为某个取值时多项式的值。你需要回答这个多项式的零点。

解:询问11个数然后高斯消元解方程得出系数。然后枚举定义域看有无0点。

1 #include 
2 3 const int N = 20, MO = 1000003; 4 5 int a[N][N], n = 10; 6 7 inline int qpow(int a, int b) { 8 int ans = 1; 9 while(b) {10 if(b & 1) {11 ans = 1ll * ans * a % MO;12 }13 a = 1ll * a * a % MO;14 b = b >> 1;15 }16 return ans;17 }18 19 inline void Gauss() {20 for(int i = 0; i < n; i++) {21 for(int j = i + 1; j <= n; j++) {22 if(a[j][i]) {23 std::swap(a[j], a[i]);24 break;25 }26 }27 if(!a[i][i]) continue;28 int inv = qpow(a[i][i], MO - 2);29 for(int j = i + 1; j <= n; j++) {30 if(!a[j][i]) continue;31 int p = 1ll * a[j][i] * inv % MO;32 for(int k = i; k <= n + 1; k++) {33 a[j][k] -= 1ll * a[i][k] * p % MO;34 a[j][k] = (a[j][k] % MO + MO) % MO;35 }36 }37 }38 for(int i = n; i > 0; i--) {39 a[i][n + 1] = 1ll * a[i][n + 1] * qpow(a[i][i], MO - 2) % MO;40 a[i][i] = 1;41 for(int j = i - 1; j >= 0; j--) {42 if(!a[j][i]) continue;43 int p = a[j][i];44 a[j][i] -= p;45 a[j][n + 1] -= 1ll * a[i][n + 1] * p % MO;46 a[j][n + 1] = (a[j][n + 1] % MO + MO) % MO;47 a[j][i] = (a[j][i] % MO + MO) % MO;48 }49 }50 return;51 }52 53 inline int cal(int x) {54 int ans = 0, temp = 1;55 for(int i = 0; i <= n; i++) {56 (ans += 1ll * temp * a[i][n + 1] % MO) %= MO;57 temp = 1ll * temp * x % MO;58 }59 return ans;60 }61 62 int main() {63 64 for(int i = 0; i <= n; i++) {65 fflush(stdout);66 printf("? %d \n", i);67 fflush(stdout);68 scanf("%d", &a[i][n + 1]);69 fflush(stdout);70 a[i][0] = 1;71 for(int j = 1; j <= n; j++) {72 a[i][j] = 1ll * a[i][j - 1] * i % MO;73 }74 }75 76 Gauss();77 78 int ans = -1;79 for(int i = 0; i < MO; i++) {80 if(!cal(i)) {81 ans = i;82 break;83 }84 }85 printf("! %d \n", ans);86 return 0;87 }
AC代码

 

转载于:https://www.cnblogs.com/huyufeifei/p/10771153.html

你可能感兴趣的文章
linux 安装 Headless Chrome
查看>>
Oracle 11g安装步骤详谈
查看>>
java8_api_net
查看>>
wget: command not found
查看>>
lodash 判断相等 eq isEqual
查看>>
vue - v-text 和 v-html
查看>>
mysql 中只能使用 localhost 登录,用ip不能登陆
查看>>
C 存储类
查看>>
PhotoShop CS6 在2K屏幕下标题菜单等字体太小
查看>>
开发工程师的职场人生路
查看>>
ASP.NET中注册客户端脚本的三种方式
查看>>
JS拖动层的实现原理
查看>>
nodejs中加入mysql插件
查看>>
Java 性能优化实战记录(2)---句柄泄漏和监控
查看>>
sql server 之函数小技巧 && 整数类型为空是用空字符串替代实现
查看>>
利用积分图进行均值滤波
查看>>
(原創) 如何使用Verilog將YCbCr轉RGB? (SOC) (Verilog) (DE2-70)
查看>>
Centos搭建Samba
查看>>
初次体验用mootools开发插件
查看>>
C#九九乘法表的算法
查看>>