【长期计划】Atcoder题目泛做
之前学长跟我说的是700-的应该都能自己做? 然后1000-的应该都能有一定的思路?
记不清了 但总之是要智力康复一下 又加上文化课比较紧 所以这个大概就会是长期计划了
————————————分鸽线————————————
今天体育中考晚上没事颓了3道题。
AGC024【至于为什么是24呢因为今天是24号233】
三道巨水的题我竟然A题WA了三发BC都1A...
————————————分鸽线————————————
竟然没让我们继续上课。本来以为体育中考和周六的课直接对调了的。
AGC025
A太水了不写了
B直接组合没有任何技术含量。。睿智的我RE了好几发。
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #define ll long long #define inf 20021225 #define mdn 998244353 #define N 900010 using namespace std;int a,b,n; ll k; int fac[N],inv[N]; int ksm(int bs,int mi) {int ans=1;while(mi){if(mi&1)ans=(ll)ans*bs%mdn;bs=(ll)bs*bs%mdn; mi>>=1;}return ans; } int C(int n,int m) {if(n<m) return 0;return (ll)fac[n]*inv[m]%mdn*inv[n-m]%mdn; } void upd(int &x,int y){x=(x+y)%mdn;} int main() {int ans=0;scanf("%d%d%d%lld",&n,&a,&b,&k);fac[0]=inv[0]=1;for(int i=1;i<=n;i++) fac[i]=(ll)fac[i-1]*i%mdn;inv[n]=ksm(fac[n],mdn-2);// printf("%d\n",inv[n]);for(int i=n-1;i;i--) inv[i]=(ll)inv[i+1]*(i+1)%mdn;for(int i=0;i<=n&&(ll)i*a<=k;i++){if((k-a*i)%b==0){ll bi=(k-a*i)/b;upd(ans,(ll)C(n,i)*C(n,bi)%mdn);}}printf("%d\n",ans);return 0; } /** 300000 300000 300000 0 */
B
C题就贪个心然后写起来巨烦不写了QAQ
滚去学文化了嘤嘤嘤
额。。晚上打了个ABC125怎么这么简单啊。。。AK了怎么才258名好菜啊。。。
还是把代码丢下吧。。。
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #define ll long long #define inf 20021225 using namespace std;int main() {int a,b,t;scanf("%d%d%d",&a,&b,&t);printf("%d\n",(t/a)*b);return 0; }
A
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #define ll long long #define inf 20021225 using namespace std; int c[21],v[21]; int main() {int st,top,n;scanf("%d",&n); top=1<<n;for(int i=0;i<n;i++) scanf("%d",&v[i]);for(int i=0;i<n;i++) scanf("%d",&c[i]);int ans=0;for(int st=1;st<top;st++){int tmpv=0,tmpc=0;for(int i=0;i<n;i++) if((st>>i)&1)tmpv+=v[i],tmpc+=c[i];ans=max(ans,tmpv-tmpc);}printf("%d\n",ans);return 0; }
B
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<map> #define ll long long #define inf 20021225 #define N 100010 using namespace std;int a[N]; int n; int pre[N],suf[N]; int gcd(int x,int y){return !y?x:gcd(y,x%y);} void solve() {for(int i=1;i<=n;i++){if(i==1) pre[i]=a[i];else pre[i]=gcd(pre[i-1],a[i]);}for(int i=n;i;i--){if(i==n) suf[i]=a[i];else suf[i]=gcd(suf[i+1],a[i]);}int ans=1;for(int i=1;i<=n;i++){if(i==1) ans=max(ans,suf[2]);else if(i==n) ans=max(ans,pre[n-1]);else ans=max(ans,gcd(pre[i-1],suf[i+1]));}printf("%d\n",ans); } int main() {scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);solve();return 0; }
C
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #define ll long long #define inf 20021225 #define N 100010 using namespace std; ll f[N][2]; ll a[N]; int n; void solve() {memset(f,-48,sizeof(f)); f[0][0]=f[0][1]=0;for(int i=1;i<=n;i++){if(i==1) f[i][0]=a[i];else{f[i][0]=max(f[i-1][0],f[i-1][1])+a[i];// printf("QAQ %d %lld\n",i,a[i]);f[i][1]=max(f[i-1][0]-2*a[i-1],f[i-1][1]+2*a[i-1])-a[i];}}printf("%lld\n",max(f[n][0],f[n][1])); } int main() {scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld",&a[i]);solve(); return 0; }
D
————————————分鸽线————————————
AGC026
B是个特判 就是看一下(kd+a)%b>c是否存在就行了
C是个典型的meet in the middle 模数要设的大一点不然会冲突 我直接unsigned long long了 不卡好评
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #define ll long long #define inf 20021225 using namespace std; ll a,b,c,d; ll gcd(ll x,ll y){return y?gcd(y,x%y):x;} bool okay(ll a,ll b,ll c,ll d) {ll g=gcd(d,b); ll x=(b-a)/g*g;if((x+a)%b>c) return 0;x=(b-a-1)/g*g;if((x+a)%b>c) return 0;return 1; } int main() {int t; scanf("%d",&t);while(t--){scanf("%lld%lld%lld%lld",&a,&b,&c,&d);if(a<b || b>d){printf("No\n"); continue;} a%=b;if(okay(a,b,c,d)) printf("Yes\n");else printf("No\n");}return 0; }
B
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<map> #define ll long long #define inf 20021225 #define bs 331 #define ull unsigned long long using namespace std; map<ull,int> f[20]; char ch[40]; int col[20],n; ll ans; ull pw[20]; void calc(int fl) {ull x=0,y=0;int p=0,q=n;for (int i=1;i<=n;i++)if(col[i]>0) x+=(ull)col[i]*pw[p],p++;else y+=(ull)col[i]*pw[q],q--;if(fl) ans+=f[p][x+y];else f[q][x+y]++; } void dfs1(int x) {if(x>n){calc(0); return;}col[x]=ch[x]-'a'+1; dfs1(x+1); col[x]=-col[x]; dfs1(x+1); } void dfs2(int x) {if(x<=n){calc(1); return;}col[2*n-x+1]=ch[x]-'a'+1; dfs2(x-1); col[2*n-x+1]=-col[2*n-x+1]; dfs2(x-1); } int main() {scanf("%d",&n); scanf("%s",ch+1); pw[0]=1; for(int i=1;i<=n;i++) pw[i]=pw[i-1]*bs;dfs1(1); dfs2(2*n); printf("%lld\n",ans);return 0; }
C
————————————分鸽线————————————
AGC034
A特判 B在整 感冒真不舒服
//Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #define ll long long #define inf 20021225 using namespace std; char ch[200001]; int a,b,c,d,n; int main() {scanf("%d%d%d%d%d",&n,&a,&b,&c,&d);int f=(d<c); scanf("%s",ch+1);for(int i=b-1;i<=d-1;i++){if(i+2>n) continue;if(ch[i]=='.'&&ch[i+1]=='.'&&ch[i+2]=='.')f=0;}for(int i=a;i<=max(c,d)-1;i++)if(ch[i]=='#'&&ch[i+1]=='#'){f=1;break;}if(f==1) printf("No\n");else printf("Yes\n");return 0; }
A
转载于:https://www.cnblogs.com/hanyuweining/p/10764581.html
【长期计划】Atcoder题目泛做相关推荐
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- FFT与多项式、生成函数题目泛做
题目1 COGS 很强的乘法问题 高精度乘法用FFT加速 1 #include <cstdlib> 2 #include <iostream> 3 #include <a ...
- 基尔霍夫矩阵题目泛做(AD第二轮)
题目1: SPOJ 2832 题目大意: 求一个矩阵行列式模一个数P后的值.p不一定是质数. 算法讨论: 因为有除法而且p不一定是质数,不一定有逆元,所以我们用辗转相除法. 1 #include &l ...
- 二维计算几何基础题目泛做(SYX第一轮)
题目1: POJ 2318 TOYS 题目大意: 给一个有n个挡板的盒子,从左到右空格编号为0...n.有好多玩具,问每个玩具在哪个空格里面. 算法讨论: 直接叉积判断就可以.注意在盒子的边界上面也算 ...
- 后缀自动机/回文自动机/AC自动机/序列自动机----各种自动机(自冻鸡) 题目泛做...
题目1 BZOJ 3676 APIO2014 回文串 算法讨论: cnt表示回文自动机上每个结点回文串出现的次数.这是回文自动机的定义考查题. 1 #include <cstdlib> 2 ...
- 插头DP题目泛做(为了对应WYD的课件)
题目1:BZOJ 1814 URAL 1519 Formula 1 题目大意:给定一个N*M的棋盘,上面有障碍格子.求一个经过所有非障碍格子形成的回路的数量. 插头DP入门题.记录连通分量. 1 #i ...
- 【题目泛做】宝藏(期望)(类欧几里得)
其实是CF868G的加强版 把概率变成任意了(好吧也没加强什么东西)做法还是一样. 注意,按理说应该要特判p=1p=1p=1的情况,然而没有卡... 题解: 首先确定策略,我们的策略显然是每次贪心找到 ...
- 数学期望和概率DP题目泛做(为了对应AD的课件)
题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C & ...
- 【题目泛做】哲学题(DFS序)(Splay)
简要题意: 树木仙有一棵根节点为 1的菊花树 (除 1 号节点外所有节点的父亲都是 1). 这棵树每个节点都有一个权值, 最开始 i 号节点的权值为 val_i . 树木仙觉得菊花树不够美观, 决定修 ...
最新文章
- 【bzoj1086】 scoi2005—王室联邦
- 滴滴笔试编程题第一题
- srm#397_div1_500pt 矩阵乘法+快速模幂
- BREW做的第一个程序--Hello world!
- 宝塔php gd库,宝塔面板安装 EasyImag – 一款最简单图床的安装体验
- asterisk 互联问题
- sobel prewitt算法 模板加权模糊的解释 + 两类边缘下的二阶导数值
- 3.5k欧/m,HIIT 博士后招募,共48个项目可选
- 1.创建一个 Slim 应用
- iPhone应用程序的启动过程
- android recyclerview item自适应高度_web前端学习:高度自适应知识点
- 【书籍学习】MATLAB书籍\【chinapub】matlab教程一套电子书
- PHP_XLSXWriter 样式,使用PHP_XLSXWriter代替PHPExcel
- 微服务拆分以及之间的远程调用
- matlab abort,matlab自动关闭是怎么回事???
- 两台计算机共享鼠标,总算发现什么是双模键盘(两台电脑共用一套鼠标键盘)
- Oracle之FORALL与BULK COLLECT简介(转载)
- 教你自己训练的pytorch模型转caffe(二)
- keep-alive相关用法及使用场景
- 台式计算机默认关机变注销,Win7电脑点关机变成注销怎么办?
热门文章
- 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
- asp毕业设计——基于asp+sqlserver的工厂设备管理系统设计与实现(毕业论文+程序源码)——工厂设备管理系统
- Java——速学界面设计之仿Windows记事本的字体窗口
- 编程制作动态壁纸的思路_抖音上很火的3D立体动态相册实现教程!(不懂编程也能学会)...
- 【SSL1762】工厂的烦恼【floyed最长路】
- Nginx配置从域名A跳转到域名B
- d转换简单结构数组为C值数组
- pandas中series一维数组的创建、索引的更改+索引切片和布尔索引+dataframe二维数组的创建、基本属性、索引方法(传统方法和lociloc)、nan操作、排序+案例
- vuex与计算属性详解
- Elasticsearch 7.6 集群搭建