传送门

题解

//Achen
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<cstdio>
#include<queue>
#include<cmath>
const int N=100000,mod=100003;
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rep(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long LL;
typedef double db;
using namespace std;
int n,k,a[N],cnt;
LL rs,f[N],inv[N];
vector<int>vc[N];template<typename T>void read(T &x)  {char ch=getchar(); x=0; T f=1;while(ch!='-'&&(ch<'0'||ch>'9')) ch=getchar();if(ch=='-') f=-1,ch=getchar();for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0'; x*=f;
}void solve() {For(i,1,n) For(j,1,n/i) vc[i*j].push_back(i); Rep(i,n,1) if(a[i]) {int up=vc[i].size();For(j,0,up-1) a[vc[i][j]]^=1;cnt++;}rs=cnt;if(cnt>k) {rs=k;f[n]=1; inv[1]=inv[0]=1;For(i,2,n) inv[i]=(mod-mod/i*inv[mod%i]%mod)%mod;Rep(i,n-1,k) f[i]=(((LL)n-i)*inv[i]%mod*(f[i+1]+1)%mod+1)%mod;For(i,k+1,cnt) rs=(rs+f[i])%mod;}For(i,1,n) rs=rs*i%mod;printf("%lld\n",rs);
}int main() {read(n); read(k);For(i,1,n) read(a[i]);solve();return 0;
}

View Code

转载于:https://www.cnblogs.com/Achenchen/p/8604385.html

洛谷 P3750 [六省联考2017]分手是祝愿相关推荐

  1. BZOJ 4872 luogu P3750 [六省联考2017]分手是祝愿

    4872: [Shoi2017]分手是祝愿 Time Limit: 20 Sec  Memory Limit: 512 MB [Submit][Status][Discuss] Description ...

  2. luogu P3750 [六省联考 2017]分手是祝愿

    https://www.luogu.com.cn/problem/P3750 k=nk=nk=n给了808080分可还行 首先考虑k=nk=nk=n,不难想到一个贪心,从大到小枚举每个开关,如果为11 ...

  3. P3750 [六省联考2017]分手是祝愿(期望概率,返祖模型)

    题意:给n个灯,初始化下给出每个灯的状态,给n个开关,操作开关i会使得编号是i的约数的灯的状态翻转一次,现在有一个种算法,如果当前状态下可以操作k次及以下就能使所有灯熄灭,直接操作这个次数,游戏结束, ...

  4. 洛谷 P3745 [六省联考2017]期末考试

    题目描述 有 nnn 位同学,每位同学都参加了全部的 mmm 门课程的期末考试,都在焦急的等待成绩的公布. 第 iii 位同学希望在第 tit_iti​ 天或之前得知所有课程的成绩.如果在第 tit_ ...

  5. [六省联考2017]分手是祝愿(期望+DP)

    题解 很容易想出来最优策略是什么. 就是从n到1看到开着的灯就把它关了 我们预处理出当前状态把灯全部关闭后的最少步数cnt 然后我们的主人公就要瞎按... 设dp[i]代表当前状态最优解为i步时走到d ...

  6. [六省联考2017]分手是祝愿 题解

    题目传送门 题目大意: 给出一排灯泡的状态,每次修改一个灯泡时会将它编号的约数的灯泡的状态同时修改,现在随机修改灯泡,当按照最优策略还有 kkk 次操作就能全灭时就按最优策略,问期望操作次数. 题解 ...

  7. BZOJ 4872 六省联考2017 分手是祝愿

    Problem BZOJ Solution 感觉dp状态的设置好巧妙啊 首先要明确的是怎么计算最小步数.就是直接从n到1扫,如果有亮着的,就按这个开关,模拟一下是O(nlnn)O(nln⁡n)O(n\ ...

  8. [六省联考2017]分手是祝愿 - 题解

    题目链接 做法: 首先预处理出每个数的约数,用 $ vector $ 存,时间是调和级数 $ O(n \log n) $ . 部分分:当 $ n = k $ 时,每次操作最优,然后从右往左枚举,若果当 ...

  9. 2017 [六省联考] T5 分手是祝愿

    4872: [Shoi2017]分手是祝愿 Time Limit: 20 Sec  Memory Limit: 512 MB Submit: 458  Solved: 299 [Submit][Sta ...

最新文章

  1. 【制作镜像】BCEC制作镜像
  2. oracle导入java包时出错,Oracle导入导出的常见错误
  3. linux shell之$?和得到联合使用命令的结果
  4. js Ajax跨域访问
  5. Linux学习笔记019---Centos7下安装Maven
  6. 如何应用Matlab plot画点
  7. BZOJ3557: [Ctsc2014]随机数
  8. 神经网络多分类的实现总结
  9. object sender,EventArgs e
  10. 从事Web前端相关的工作应该掌握哪些职业技能?
  11. 什么才是市场急需的前端工程师?【零基础web前端入门视频教程】
  12. vue项目push 遇到send-pack: unexpected disconnect while reading sideband packetclient_loop: send disconn
  13. 109 个实用 Shell 脚本实例,代码清晰拿来就能用!(附pdf)
  14. '/',‘\\’与‘\’的区别
  15. 关于K倍区间问题的神仙做法所记的笔记
  16. wamp 不起启动一直是黄的
  17. 中国铜带行业市场供需与战略研究报告
  18. 最基础的远程控制来了,教你如何跨客户端连接服务器,7*24工作不是梦!
  19. 首师大计算机科学与技术专业如何,首都师范大学计算机科学与技术
  20. Spark SQL too many elements for tuple: 25 (scala tuple超过默认22个元素)

热门文章

  1. Elasticsearch集群知识笔记
  2. Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
  3. HTML 学习笔记 day one
  4. hiho图的联通性(自留)
  5. 水晶报表-简单数据类型(Crystal 语法)
  6. ANTLR和StringTemplate
  7. VC++的windows服务
  8. tf.reduce_sum()方法深度解析
  9. Python+Appium寻找蓝牙/wifi匹配
  10. Python从菜鸟到高手(1):初识Python