T1 买铅笔 题目传送门

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int inf=0x3f3f3f3f;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int n,x,y,ans=inf;
int main()
{
int now,nowf;
n=read();
for(int i=;i<=;i++){
x=read(); y=read();
if(n%x) now=n/x+;
else now=n/x;
nowf=now*y;
ans=min(ans,nowf);
}
printf("%d\n",ans);
return ;
}

T2 回文日期 题目传送门

这道题其实枚举一波年份再判就好了 当时傻逼了就直接枚举了 mdzz

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int M=;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int n;
int f[][]={{,,,,,,,,,,,,},{,,,,,,,,,,,,}};
int nx,ny,nz,tail=,ans;
struct node{int x,y,z;}q[M];
int pd(int x){
if(x%) return ;
if(x%==){
if(x%==) return ;
return ;
}
return ;
}
int check(int x){
int sx=q[x].x,sy=q[x].y,sz=q[x].z; //printf("%04d%02d%02d\n",sx,sy,sz);
return (sx!=nx||sy!=ny||sz!=nz);
}
void add(int k){
int x=q[k].x,y=q[k].y,z=q[k].z+;
int now=pd(x);
if(f[now][y]<z) z=,y++;
if(y>) y=,x++;
tail++;
q[tail].x=x; q[tail].y=y; q[tail].z=z;
}
int okay(int x){
int ans=q[x].x*+q[x].y*+q[x].z; //printf("%d\n",ans);
int s[];
for(int i=;i<=;i++) s[i]=ans%,ans=ans/;
return s[]==s[]&&s[]==s[]&&s[]==s[]&&s[]==s[];
}
int main()
{
n=read(); q[tail].x=n/; q[tail].y=n/%; q[tail].z=n%;
//printf("[%d %d %d]\n",q[1].x,q[1].y,q[1].z);
n=read(); nx=n/; ny=n/%; nz=n%;
if(okay(tail)) ans++;
while(check(tail)){
add(tail);
if(okay(tail)) ans++;
}
printf("%d\n",ans);
return ;
}

T3 海港 题目传送门

这道题搞了个队列记一波就okay了 代码简洁

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int M=,mx=;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int sum[M];
struct node{int t,w;}q[*M];
int head,tail,n,last,k,x,tot;
int main()
{
n=read();
for(int i=;i<=n;i++){
last=read(); k=read();
for(int i=;i<=k;i++){
x=read();
if(!sum[x]) tot++;
sum[x]++;
q[tail].t=last; q[tail++].w=x;
}
while(q[head].t+mx<=last&&head<tail){
int now=q[head++].w;
sum[now]--;
if(!sum[now]) tot--;
}
printf("%d\n",tot);
}
return ;
}

T4 魔法正 题目传送门

这道题 还是有点复杂了 自己没写出来 看了波题解开着

首先由题目可得 设c-d差距为i 则a-b距离是2i b-c距离要大于6i 这样我们外层枚举i内层枚举d就可以解决问题了

当然由于a,b可以由c,d推过来但是满足情况的c,d太多了所以要从边界模拟过来使得所有被枚举的c,d都合法 把这些合法的状态都累加起来算就比较方便 降一波复杂度

同理c,d

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int M=,maxN=;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int sum,xa,xb,xc,xd;
int n,m,id[M],w[maxN];
int a[maxN],b[maxN],c[maxN],d[maxN];
int main()
{
n=read(); m=read();
for(int i=;i<=m;i++) id[i]=read(),w[id[i]]++;
for(int i=;i<=n/;i++){
int now=i*;
sum=;
for(xa=n-now-;xa;xa--){
xb=xa+*i; xc=xb+*i+; xd=xc+i;
sum+=w[xc]*w[xd];
a[xa]+=w[xb]*sum;
b[xb]+=w[xa]*sum;
}
sum=;
for(xd=now+;xd<=n;xd++){
xc=xd-i; xb=xc-*i-; xa=xb-*i;
sum+=w[xa]*w[xb];
c[xc]+=sum*w[xd];
d[xd]+=sum*w[xc];
}
}
for(int i=;i<=m;i++) printf("%d %d %d %d\n",a[id[i]],b[id[i]],c[id[i]],d[id[i]]);
return ;
}

最新文章

  1. 解决WINDOWS防火墙开启后Ping不通
  2. Monkey的ADB命令简单使用示例和解析
  3. asp TreeView控件的使用
  4. gcc5.1.0升级指南
  5. python内置模块(3)
  6. h5固定表头公共样式
  7. yum源的修改
  8. No module named &#39;pkg_resources&#39; 解决方法
  9. php 共享内存
  10. do {...} while (0) in macros
  11. 隐式Intent实例
  12. Js把IE COM数组列表转换成数组
  13. python opencv SIFT,获取特征点的坐标位置
  14. elastic-job详解(二):作业的调度
  15. Css3实现常用的几种loading动画
  16. DateTimePicker用法
  17. T-SQL 有参数存储过程的创建与执行
  18. 火狐下不能使用非行间样式currentStyle用getComputedStyle获取
  19. elasticsearch 使用tcp 访问NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{Yk0WjtKbQXqYCJSDFRYlRA}
  20. zTree动态加载

热门文章

  1. Entity Framework + WCF 远程调用出错
  2. 【IIS】 常见问题
  3. 「日常训练」「小专题·USACO」 Ski Course Design (1-4)
  4. 【赛后补题】(HDU6223) Infinite Fraction Path {2017-ACM/ICPC Shenyang Onsite}
  5. python终极篇 --- django---班级管理系统
  6. python进阶训练
  7. [翻译] ASP.NET Core 简介
  8. PHP全局变量局部变量
  9. php 文件上传失败
  10. 当xml结构很深时候 可以通过父节点删除子元素