noip2014总结

1、Ovirt 开源虚拟化平台安装 Ovirt虚拟化Node和Engine安装 阅读详情

终于有时间来总结一下noip2014了。。。。。。

蒟蒻360 SD 并列rank 76(无限仰慕fye神,TA神,Rivendell神。。。)

总结一下:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Day1 T1,Day2 T2 水题两道,要做到又好又快。。。 code:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int a[201],b[201],n,na,nb;
int main()
{
    int i,sca,scb;
    freopen("rps.in","r",stdin);
    freopen("rps.out","w",stdout);
    memset(a,0,sizeof(a)); memset(b,0,sizeof(b));
    scanf("%d%d%d",&n,&na,&nb);
    for (i=1;i<=na;++i)
      scanf("%d",&a[i]);
    for (i=na+1;i<=n;++i)
      a[i]=a[(i-1)%na+1];
    for (i=1;i<=nb;++i)
      scanf("%d",&b[i]);
    for (i=nb+1;i<=n;++i)
      b[i]=b[(i-1)%nb+1];
    sca=0; scb=0;
    for (i=1;i<=n;++i)
      {
        if (a[i]==0)
          {
            if ((b[i]==2)||(b[i]==3))
              sca++;
            if ((b[i]==1)||(b[i]==4))
              scb++;
          }
        if (a[i]==1)
          {
            if ((b[i]==0)||(b[i]==3))
              sca++;
            if ((b[i]==2)||(b[i]==4))
              scb++;
          }
        if (a[i]==2)
          {
            if ((b[i]==1)||(b[i]==4))
              sca++;
            if ((b[i]==0)||(b[i]==3))
              scb++;
          }
        if (a[i]==3)
          {
            if ((b[i]==2)||(b[i]==4))
              sca++;
            if ((b[i]==0)||(b[i]==1))
              scb++;
          }
        if (a[i]==4)
          {
            if ((b[i]==0)||(b[i]==1))
              sca++;
            if ((b[i]==2)||(b[i]==3))
              scb++;
          }
      }
    printf("%d %d\n",sca,scb);
    fclose(stdin); fclose(stdout);
    return 0;
}
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int map[200][200];
int maxn,maxi,d,n;
int main()
{
    int i,j,x,y,k,m,ans;
    freopen("wireless.in","r",stdin);
    freopen("wireless.out","w",stdout);
    scanf("%d",&d);
    memset(map,0,sizeof(map));
    scanf("%d",&n);
    for (i=1;i<=n;++i)
      {
        scanf("%d%d%d",&x,&y,&k);
        map[x][y]=k;
      }
    maxn=0; maxi=0;
    for (i=0;i<=128;++i)
      for (j=0;j<=128;++j)
        {
          ans=0;
          for (k=max(0,i-d);k<=min(128,i+d);++k)
            for (m=max(0,j-d);m<=min(128,j+d);++m)
              ans+=map[k][m];
          if (ans==maxn)
            maxi++;
          if (ans>maxn)
            {maxn=ans; maxi=1;}
        }
    printf("%d %d\n",maxi,maxn);
    fclose(stdin); fclose(stdout);
    return 0;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Day1 T2,Day2 T2都需要一定的思考

link树形DP,但需要一些小技巧,DFS建树,穷举中间节点,处理同层和上下两层(考试想简单了,60)AC CODE:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int next[500000],point[250000];
int a[250000]={0},n,ans,maxn;
int e[500000];
void treedp(int now,int last,int lastest,int sum)
{
	int j,c,maxf,maxs;
	ans=(ans+(a[now]*sum)%10007+(a[now]*a[lastest])%10007)%10007;
	maxn=max(maxn,a[now]*a[lastest]);
	j=point[now]; c=0; maxs=maxf=0;
	while (j!=0)
	  {
	    if (e[j]!=last)
	      {
	      	treedp(e[j],now,last,c);
	        c=(c+a[e[j]])%10007;
	        if (a[e[j]]<=maxf&&a[e[j]]>maxs) maxs=a[e[j]];
	        if (a[e[j]]>maxf) {maxs=maxf; maxf=a[e[j]];}
		  }   
	    j=next[j];
      }
	maxn=max(maxn,maxf*maxs);
}
int main()
{
	int i,x,y;
	freopen("linkb.in","r",stdin);
	freopen("linkb.out","w",stdout);
	memset(next,0,sizeof(next));
	memset(point,0,sizeof(point));
	scanf("%d",&n);
	for (i=1;i<=n-1;++i)
	  {
	    scanf("%d%d",&x,&y); 
	    next[i*2-1]=point[x]; point[x]=i*2-1;
		next[i*2]=point[y]; point[y]=i*2;
		e[i*2-1]=y; e[i*2]=x; 
	  }
	for (i=1;i<=n;++i)
	  scanf("%d",&a[i]);
	ans=0; maxn=0;
	treedp(1,0,0,0);
	ans=(ans*2)%10007;
	printf("%d %d",maxn,ans);
	fclose(stdin); fclose(stdout);
}
road更简单,dfs判“连通”(考试竟然用floyed..... 60),跑一遍spfa即可 AC CODE:

#include<iostream>
#include<cstdio>
#include<cstring> 
using namespace std;
struct hp{
	int u,v;
}a[200001];
int queue[100001],s,t,dis[100001]; 
int next1[200001],point1[100001],next2[200001],point2[100001],n,m;
bool f[100001],ff[100001];
void floodfill(int i)
{
	int j;
	f[i]=true; j=point1[i]; 
	while (j!=0)
	  {
	  	if (f[a[j].v]==false)
	      floodfill(a[j].v);
	    j=next1[j];
	  }
}
int spfa() 
{
	int head,tail,i,now,vi,y;
	memset(queue,0,sizeof(queue));
	memset(dis,127,sizeof(dis)); 
	memset(f,false,sizeof(f)); 
	head=0; tail=1; queue[tail]=s; y=dis[0];
	dis[s]=0; f[s]=true;
	while (head!=tail)
	  {
	    head=head%100000+1;
	    now=queue[head];
	    f[now]=false;
	    i=point2[now];
	    while (i!=0)
	      {
	        vi=a[i].u;
	        if (ff[vi]&&dis[vi]>dis[now]+1)
	          {
	            dis[vi]=dis[now]+1;
	            if (f[vi]==false)
	              {
	                f[vi]=true; tail=tail%100000+1;
	                queue[tail]=vi;
	              }
	          }
	        i=next2[i];
	      }
      }
	if (dis[t]>=y) return -1;
	else return dis[t]; 
}
int main()
{
	int j,i,x,y;
	bool d;
	freopen("roadb.in","r",stdin); freopen("roadb.out","w",stdout);
	scanf("%d%d",&n,&m);
	memset(next1,0,sizeof(next1));
	memset(point1,0,sizeof(point2));
	memset(next2,0,sizeof(next1));
	memset(point2,0,sizeof(point2));
	memset(f,false,sizeof(f)); memset(ff,false,sizeof(ff)); 
	for (i=1;i<=m;++i)
	  {
	    scanf("%d%d",&x,&y);
	    next1[i]=point1[y]; point1[y]=i;
	    next2[i]=point2[x]; point2[x]=i;
	    a[i].v=x; a[i].u=y;
	  }
	scanf("%d%d",&s,&t);  floodfill(t); 
	for (i=1;i<=n;++i)
	  {
	    d=f[i];
		j=point2[i];
		while (j!=0)
		  {
		    d=d&&f[a[j].u];
		    j=next2[j];
	      }
	    ff[i]=d;
	  }
	printf("%d\n",spfa());
	fclose(stdin); fclose(stdout);
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Day1 T3完全背包,Day2 T3各种乱搞 代码未写。。。。。。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总结:

       1.加强对动归的练习 2.多了解一些数论知识 3.要建立起合适的数学模型,力求降低时间复杂度(前提是算对大O......)




8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go) 阅读详情

相关推荐

UE5.3像素流送Docker化部署:从Linux服务器搭建到云端实时渲染

本文详细介绍了在Linux服务器上使用Docker容器化部署UE5.3像素流送服务的完整流程。通过将虚幻引擎运行时、信令服务器和TURN服务打包为标准化镜像,利用Docker Compose进行编排,实现了云端实时渲染应用的快速部署、环境一致与弹性扩展,有效解决了传统部署中的环境依赖与运维难题。

k0l1m2n3o的博客 200

noip2014普及组题解

1. 珠心算测验 【问题描述】 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练, 既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正 整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另 外两个(不同的)数之和? 最近老师出...

weixin_30673715的博客 460

AWS S3文件上传性能优化:Java SDK多线程与分段上传实战指南

本文详细介绍了如何通过Java SDK优化AWS S3文件上传性能,重点讲解多线程并发上传与分段上传(Multipart Upload)技术的实战应用。通过动态调整分段策略、线程池配置及内存优化技巧,可显著提升大文件上传效率,实测显示组合方案比单线程上传提速近5倍。文章还涵盖加密上传、断点续传等高级场景解决方案,并提供了完整的性能对比测试数据。

d6e7f8的博客 1016

noip2014

noip2014珠心算试题一(count.pas) 【问题描述】 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正 整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和

jing1223639316的博客 854

R | 提取文件夹内栅格数据的最小值、最大值、标准差和平均值

各位同学好,我们长需要用长时间序列栅格数据的平均值做变量的时间变化分析,用代码能够帮助我们省下很多时间。

qq_48539301的博客 449

RealSense D455的标定并运行VINS-FUSION

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

qq_40186909的博客 2万+

补noip2014day1、noip2014模拟day2

noip2014day1 第一题:生活大爆炸版石头剪刀布。 纯模拟,不说了。 第二题:联合权值。 链表存图暴力做法能过70%,正解是,每输入一条边,将连接边的两点互相比较,额,我编不下去了…… #include #include using namespace std; struct m{ int a,b; }bian[200002]; struct t{ int max1

某炒鸡无底蒟蒻的博客 372

【论文复现】——基于LM优化的NDT点云配准算法

传统的正态分布变换配准算法处理初始位姿变换相差较大的两帧点云时,存在无法收敛或者陷入局部最小值的问题。为了提高算法的收敛性能,提出了一种基于LM方法改进的三维正态分布变换配准算法。

点云侠的博客 1163

NOIP2014河南获奖名单

提高组: 一等奖 二等奖 普及组 一等奖 二等奖 河南省部分: 提高组一等奖: CCF-NOIP2014-1721 河南 HA-101 王梦迪 600 河南省实验中学 高二 CCF-NOIP2014-1722 河南 HA-173 娄晨耀 550 郑州市第十一中学 高二 CCF-NOIP2014-1723 河南 HA...

dianpu6028的博客 848

BiSeNet:面向实时语义分割的双边网络

BiSeNet 系列重新定义了实时语义分割的范式“不要在速度和精度之间妥协——用架构创新,两者兼得。V1:提出双边解耦思想,启发后续大量工作;V2:通过极致轻量化,证明小模型也能高精度;V3(工业版):推动端侧 AI 落地,成为行业标准之一。如今,BiSeNet 已成为嵌入式视觉系统的默认选择,其设计理念(解耦、轻量、融合)被广泛应用于目标检测、姿态估计等领域。

浩瀚之水的专栏 267

【STM32 Blue Pill编程】-STM32CubeIDE开发环境搭建与点亮LED

本文为使用 STM32Cube IDE 的 STM32 Blue Pill 入门教程。 在本文中,我们将介绍如何控制 STM32 Blue Pill 的 GPIO 引脚。以及开发环境搭建。 本系列文章将重点介绍采用 ARM Cortex-M 的 BluepellSTM32F103C8 微控制器以及如何使用 STM32CubeIDE 对其进行编程。 STM32CubeIDE是STM32官网提供的IDE

视觉与物联智能 1067

[NOIP2014]飞扬的小鸟

[NOIP2014]飞扬的小鸟 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败。 为了简化问题,我们对游戏规则进行了简化和改编: 游戏界面是一个长为n ,高为 m 的二维平面,其中有k 个管道(忽略管道的宽度)。 小鸟始

Edwin VanCleef的博客 1961

2、MOSFET基本物理效应及其BSIM4模型解析

本文深入探讨了MOSFET的基本物理效应及其在BSIM4模型中的数学表述,涵盖门和沟道的几何结构、温度依赖性、材料模型选项、阈值电压计算、以及其他关键物理效应如LDD电阻、有限电荷厚度、有效迁移率等。同时解析了机械应力、邻近效应及布局依赖效应对MOSFET性能的影响,并通过参数表和建模流程提供了精确建模的指导,旨在帮助读者优化MOSFET器件性能与可靠性。

purple的博客 565

CCF关于NOIP2014复赛报名的通知

CCF关于NOIP2014复赛报名的通知 CCF NOIP2014复赛全部实行网上注册、报名。未通过网上报名的选手将不具备参赛和申诉资格。系统注册须知: NOIP2014复赛注册时间:2014年10月16日-11月2日(具体见流程表) 注册地址详见NOI网站:http://www.noi.cn(或http://rg.noi.cn)。...

weixin_33928137的博客 482

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NOIP2014 提高组合集

NOIP 2014 提高组 合集 D1 T1 生活大爆炸版石头剪刀布 首先,先将两个人的猜拳序列都变得不小于n。然后逐个模拟。胜败什么的看表就行了。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using nam...

dianan0938的博客 265

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【NOIp】NOIp2014

NOIp 2014 day 1 T1 生活大爆炸版石头剪刀布 标签:模拟 code(巨丑 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 int main(){ 5 int n,na,nb,x,y,xa[201],xb[201],i,j,...

weixin_30539625的博客 165

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

NOIP2014 复盘

NOIP2014复盘 D1T1 P1328 生活大爆炸版剪刀石头布 他们按照周期出圈,按照表里写的去判断即可。签到题。 D1T2 P1351 联合权值 这道题的突破口在于距离为2是什么意思。我们先解决第二问。 在一颗有根树中,显然要不是爷孙关系,要不是兄弟关系。 爷孙关系好处理,遍历一下乘上去就完事。重点是兄弟关系如何处理。 有一个方便处理的结论:和的平方减去每个数分别的平方和,会等于两...

dianshu0741的博客 309

NOIP2014珠心算测验

NOIP2014珠心算测验 题目描述 (说明:本题共10个测试点,每个测试点时限均为1秒,运行内存上限为128MB) 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中...

qym2008 的博客 1200

[NOIP2014]联合权值

[NOIP2014]联合权值时间限制:1 s 内存限制:128 MB 【题目描述】 两两结点的联合权值,必定经过另外一个结点。所以说,枚举的时候,只需要枚举每一个结点以及与这个节点相邻的点。然后把这些结点两两配对相乘相加。再次分析一下,对于最大值,明显只需要贪心。在每个结点中选择最大的两个即可。这个不需要考虑。那么,总和值是否可以优化呢?假设一个结点o,与其相连结点的权值为a1,a2

still_foolish的博客 426

NOIP2014 提高组 寻找道路

描述 在有向图 G 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到 终点的路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通。在满足条件 1 的情况下使路径最短。 注意:图 G 中可能存在重边和自环,题目保证终点没有出边。 请你输出符合条件的路径的长度。 格式 输入格式 第一行有两个用一个空格隔开的整数

Angel_wing_SKY的博客 585

7.7 NOIP 2014

2014 noip DAY11 T1 纯模拟题,没有难度(也只有这道能a哈哈哈) #include<bits/stdc++.h> using namespace std; int n,a1,b1,a[10000],b[10000],k1=1,k2=1,sum1,sum2; int main(){ //freopen("rps.in","r",stdin); //freopen("...

Elaiza_的博客 167

NOIP2014

其实就写了两道图论题,其他都不会写 [noip2014day1-T2]联合权值 title LUOGU 1351 无向连通图 \(G\) 有 \(n\) 个点,\(n-1\) 条边。点从 \(1\) 到 \(n\) 依次编号,编号为 \(i\) 的点的权值为 \(W_i\),每条边的长度均为 \(1\)。图上两点 \((u, v)\) 的距离定义为 \(u\) 点到 \(v\) 点的最短...

dilu0653的博客 111

NOIP2014感想

  NOIP2014转眼就结束了,让人不由感慨时间之快,仿佛几天前还是暑假,几天后就已经坐在考场里了。   从暑假8月开始写博客,发了一些解题报告什么的,但这篇文章不再会是“题目大意 & 解题过程 & 总结”的格式了,题目是死的,人是活的,我只想记录一下我的感想。   说说比赛。总体来说比赛的时候状态挺不错的,留出来检查的时间也挺充足,但是今年的题貌似都不好对拍,只能...

dehs8915的博客 176

NOIP2014普及组--比例简化

NOIP2014普及组–比例简化 这道题简单来说就是暴力枚举A’和B’,然后最符合题意的,本来我我想到了这种方法,但我以为不会这么简单,它怎么说都要卡一下数据吧,而且他的数据及其不符合生活常识,100:1竟然约等于1:1;诸如此类巨坑数据还有很多,所以又坑我一把; 代码如下: #include<bits/stdc++.h> using namespace std; int a,b,a...

聂泽宇的blog 3267

[NOIP2014]寻找道路

描述 在有向图 G 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到 终点的路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通。 在满足条件 1 的情况下使路径最短。 注意:图 G 中可能存在重边和自环,题目保证终点没有出边。 请你输出符合条件的路径的长度。 格式 输入格式 第一行有两个用一个空格...

160

【真题讲解】 NOIP2014

T1:珠心算测验 题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练, 既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正 整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另 外两个(不同的)数之和? 最近老师出了一些测验题,请你帮忙求出...

Ronaldo7_ZYB的博客 697
上一篇: 2014.11.22 差分约束学习笔记
下一篇: 扩展欧几里德与中国剩余定理学习笔记&&模版
Lcomyn
博客等级 码龄12年 14粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值