2018/8/15 qbxt 测试

期望得分:100;实际得分:50   不知道为什么写挂了,明明是个水题 T^T

思路:模拟

注意:如果用 char 类型存储的话,如果有'z' + 9 会爆char  但是我明明用的 string 啊

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n, m;
int len;
string s, ss; int main() {
scanf("%d%d", &n, &m);
cin >> s >> ss;
len = s.length();
for(int i = ; i < len; i++) {
s[i] += ss[i%m] - '';
if(s[i] > 'z') s[i] = s[i] - 'z' + 'a' - ;
}
cout << s << '\n';
return ;
}

考场代码

#include <cstdio>

#define next(i) ((i) == K-1 ? 0 : (i) + 1)

int main() {
int L, K;
scanf("%d%d", &L, &K);
char * s1 = new char[L + ];
char * s2 = new char[K + ]; scanf("%s%s", s1, s2); int j = ;
for (int i=; i<L; i++, j = (j==K- ? : j+))
s1[i] = ((s1[i] - 'a') + (s2[j] - '')) % + 'a'; puts(s1);
return ;
}

std

期望得分:100;实际得分:100

思路:将因为是完全平方数,所以这个数的因子在1~n中一定是出现了偶数次,道理显然,否则一定不会出现这样一个数。因此我们可以对于N分解质因数,用线性筛O(N)求出1~n的素数。求出素数后用N除以每个素数,开一个数组记录一下出现的次数,对于除出来的商,我们在判断一下能否在继续除以当前的素数,能继续除就继续加,道理显然。 
因此,如果数组中记录的数为奇数,就-1,这样就能保证以上偶数次的要求。

#include<iostream>
#include<cstdlib>
#include<cstdio>
#define LL long long
using namespace std;
const int maxn = ;
const LL mod = ;
bool not_prime[maxn];
int cnt;
LL n, ans=;
LL prime[maxn];
LL num[maxn]; LL ksm(LL a, LL b) {
if(b == ) return 1ll;
if(b == ) return a%mod;
LL tmp = ksm(a, b/)%mod;
if(b% == )
return ((tmp%mod)*(tmp%mod))%mod;
else
return ((((tmp%mod)*tmp)%mod)*(a%mod))%mod;
}
int main() {
scanf("%lld", &n);
not_prime[] = true;
for(LL i = ; i <= n; i++) {
if(!not_prime[i])
prime[++cnt] = i;
for(int j = ; j <= cnt; j++) {
if(prime[j]*i>n) break;
not_prime[prime[j]*i] = true;
if(i%prime[j] == ) break;
}
}
for(int i = ; i <= cnt; i++) {
LL aa = n;
while(aa != ) {
num[i] += aa/prime[i];
aa /= prime[i];
}
}
for(int i = ; i <= cnt; i++) {
if(num[i]% == )
ans = (ans*ksm(prime[i], num[i]))%mod;
else
ans = (ans*ksm(prime[i], num[i]-))%mod;
}
printf("%lld", ans);
return ;
}

考场代码

期望。。。不要爆零   实际。。。8分  qwq

思路:一看就是图论题,然后手动模拟了一下样例1,开始码代码。。发现后两个样例过不了我居然还以为样例错了,还去问老师。。傻的一批

正解:跑两边Floyd,第一次不考虑换马的情况求出最短路,第二次则要考虑换马 f[i][j] = min(f[i][k]+f[k][j]);

#include<algorithm>
#include<cstring>
#include<cstdio>
#include<queue>
#define M 10005
#define MAXN 0x3f3f3f
using namespace std;
queue<int> q;
int s, f;
int n, m, tot;
int e[M], v[M];
double dis[M], cap[M];
int to[M], net[M], head[M], vis[M]; void add(int u, int v, double w) {
to[++tot] = v; net[tot] = head[u]; head[u] = tot; cap[tot] = w;
}
void spfa(int x) {
for(int i = ; i <= n; i++)
dis[i] = 1.0*MAXN, vis[i] = ;
dis[x] = ; vis[x] = ; q.push(x);
while(!q.empty()) {
int y = q.front(); q.pop(); vis[y] = ;
for(int i = head[y]; i; i = net[i]) {
int t = to[i];
if(dis[t] > dis[y] + cap[i]) {
dis[t] = dis[y] + cap[i];
if(!vis[t]) vis[t] = , q.push(t);
}
}
}
// for(int i = 1; i <= n; i++) printf("%lf\n", dis[i]);
} int main() { scanf("%d%d", &n, &m);
for(int i = ; i <= n; i++)
scanf("%d%d", &e[i], &v[i]);
for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++) {
int a;
scanf("%d", &a);
if(a == -) continue;
else if(e[i] < a) continue;
else {
double tmp = 1.0 * a / v[i];
add(i, j, tmp);
}
}
for(int i = ; i <= m; i++) {
scanf("%d%d", &s, &f);
spfa(s);
printf("%.6lf\n", dis[f]);
}
return ;
}

考场代码

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm> using namespace std; const int maxn=; int n,q,e[maxn],s[maxn]; double dis[maxn][maxn],dist[maxn][maxn]; int main()
{
int T=;
for (int t=;t<=T;t++)
{
scanf("%d%d",&n,&q);
for (int a=;a<=n;a++)
scanf("%d%d",&e[a],&s[a]);
for (int a=;a<=n;a++)
for (int b=;b<=n;b++)
{
scanf("%lf",&dis[a][b]);
if (dis[a][b]<) dis[a][b]=1e+;
if (a==b) dis[a][b]=;
}
for (int a=;a<=n;a++)
for (int b=;b<=n;b++)
for (int c=;c<=n;c++)
dis[b][c]=min(dis[b][c],dis[b][a]+dis[a][c]);
for (int a=;a<=n;a++)
for (int b=;b<=n;b++)
dist[a][b]=1e+;
for (int a=;a<=n;a++)
dist[a][a]=;
for (int a=;a<=n;a++)
for (int b=;b<=n;b++)
if (dis[a][b]<=e[a]) dist[a][b]=dis[a][b]/s[a];
for (int a=;a<=n;a++)
for (int b=;b<=n;b++)
for (int c=;c<=n;c++)
dist[b][c]=min(dist[b][c],dist[b][a]+dist[a][c]);
//printf("Case #%d:",t);
for (int a=;a<=q;a++)
{
int s,e;
scanf("%d%d",&s,&e);
printf("%.6lf\n",dist[s][e]);
}
} return ;
}

std

期望。。。不要爆零  实际。。骗分得到了10分   因为测试点数量比上一个少 qwq

思路:类似于滑动窗口,然后通过树状数组求解

树状数组似撒?能吃吗?qwq

骗分代码我就不展示了  捂脸

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm> using namespace std; #ifdef unix
#define LL "%lld"
#else
#define LL "%I64d"
#endif #define lb(x) ((x)&(-(x))) const int maxn=; int n,z[maxn],y[maxn],x[maxn]; long long k; bool cmp(int a,int b) {
return z[a]<z[b];
} void insert(int *z,int p,int d) {
for (; p<=n; p+=lb(p))
z[p]+=d;
} int query(int *z,int p) {
int ans=;
for (; p; p-=lb(p))
ans+=z[p];
return ans;
} int main() {
scanf("%d" LL,&n,&k);
for (int a=; a<=n; a++)
scanf("%d",&z[a]),y[a]=a;
sort(y+,y+n+,cmp);
x[y[]]=;
for (int a=; a<=n; a++)
if (z[y[a]]==z[y[a-]]) x[y[a]]=x[y[a-]];
else x[y[a]]=x[y[a-]]+;
for (int a=; a<=n; a++)
z[a]=x[a];
memset(x,,sizeof(x));
memset(y,,sizeof(y));
long long nowans=;
int p=n;
while (p>=) {
nowans+=query(y,z[p]-);
insert(y,z[p],);
p--;
}
p++;
long long ans=;
for (int a=; a<=n; a++) {
if (p==a) {
nowans-=a--query(x,z[p])+query(y,z[p]-);
insert(y,z[p],-);
p++;
}
nowans+=a--query(x,z[a])+query(y,z[a]-);
insert(x,z[a],);
while (nowans>k && p<=n) {
nowans-=a-query(x,z[p])+query(y,z[p]-);
insert(y,z[p],-);
p++;
}
if (nowans<=k) ans+=n-p+;
}
printf(LL "\n",ans); return ;
}

std

2018/8/15 qbxt 测试的更多相关文章

  1. 2018/8/21 qbxt测试

    2018/8/21 qbxt测试 期望得分:0? 实际得分:0 思路:manacher   会写模板但是不会用 qwq 听了某人的鬼话,直接输出0,然后就gg了 #include <cstdio ...

  2. 记2018/5/5 qbxt 测试

    记2018/5/5 qbxt 测试 竞赛时间: 2018 年 5 月 5 日 13:30-17:00 T1 一.maze(1s,512MB): 简单的迷宫问题:给定一个n*m的迷宫,.表示可以通过,# ...

  3. 记2018/4/29 qbxt 测试

    记 2018/4/29  qbxt 测试(提高基础班) 简单的 NOIP 模拟赛 竞赛时间: 2018 年 4 月 29 日 13:30-17:00 题目名称 乘法 求和 计数 输入文件名 mul.i ...

  4. Tencent Cloud Developers Conference(2018.12.15)

    时间:2018.12.15地点:北京朝阳悠唐皇冠假日酒店

  5. Lean Data Innovation Sharing Salon(2018.09.15)

    时间:2018.09.15地点:北京国华投资大厦

  6. JZOJ 5818. 【NOIP提高A组模拟2018.8.15】 做运动

    5818. [NOIP提高A组模拟2018.8.15] 做运动 (File IO): input:running.in output:running.out Time Limits: 2000 ms  ...

  7. WPF 使用鼠标拖动一个控件的实现[2018.7.15]

    原文:WPF 使用鼠标拖动一个控件的实现[2018.7.15] Q:已经把一个Shape和一个TextBlock组合起来放到了一个Grid中,现在想要实现用鼠标拖动这个Grid到任意位置的功能,如何做 ...

  8. WPF 在绘图控件(Shape)中添加文字 [2018.7.15]

    原文:WPF 在绘图控件(Shape)中添加文字 [2018.7.15] Q:使用Shape的子类Ellipse画一个圆,如何在圆中添加文字? A:Shape类中不包含Text属性.可使用Shape类 ...

  9. 2018中国科大自主测试-B卷部分试题

    数学部分 z = e^{\frac{2i\pi}{3}}, 求z^{2018}. \sin(2x) = \frac 35, 求\frac{\tan(x+15^{\circ})}{\tan(x-15^{ ...

随机推荐

  1. python学习之--SyntaxError: Non-ASCII character '\xe5'

    在安装好eclipse之后试了一下 创建了了一个pydev project package.module 在test.py中编写最简单的命令 print "helloworld" ...

  2. HDU 5353 Average 贪心

    就是贪心啊,不知道为啥总是不过,总是WA 方法不对吗? 将数组扩展一倍,从左到右扫描,大于平均数就给右边的,小于就从右边拿,等于就不变,记录下操作类型. 大于2直接NO,不知道哪错了,自己出了一些数据 ...

  3. Oracle 排序中 nulls first 与 nulls last 的用法

    Nulls first和nulls last是Oracle Order by支持的语法 如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 ...

  4. 局域网ARP病毒的清理

    局域网ARP病毒的清理 作者:IT动力源  来源:IT动力源收集整理     现在局域网中感染ARP 病毒的情况比较多,清理和防范都比较困难,给不少的网络管理员造成了很多的困扰.下面就是个人在处理这个 ...

  5. HP 1022N 网络打印机安装步骤

    HP 1022N 网络打印机安装步骤

  6. obdg反汇编破解crackme

    obdg是一个反汇编软件 直接将要反汇编的exe文件拖入或者file->open打开文件,等待一段时间就会显示出来 界面中分别为汇编代码(程序内存内容),寄存器内容,数据内存内容,栈内容 代码界 ...

  7. 【Django】模板系统

    目录 一.变量 二.过滤器 Filters 2. length 3. filesizeformat 4. slice 5. add 6. first.last 7. join 8. truncatec ...

  8. SpringBoot 结合 Thymeleaf 进行页面的跳转

    1.引入thymeleaf依赖 <!--thymeleaf--> <dependency> <groupId>org.springframework.boot< ...

  9. 洛谷 P3887 [GDOI2014]世界杯

    P3887 [GDOI2014]世界杯 题目描述 3014年世界杯足球赛就要开始了!作为卫冕冠军中国足球队的教练,手下每位球员都是猛将,如何摆出最强的11人阵容也是一件幸福的烦恼事啊. 众所周知,足球 ...

  10. 矩阵乘法2(codevs3147)

    题目描写叙述 Description 给出两个n*n的矩阵.m次询问它们的积中给定子矩阵的数值和. 输入描写叙述 Input Description 第一行两个正整数n,m. 接下来n行,每行n个非负 ...