T1能量获取

Description

“封印大典启动,请出Nescafe魂珠!”随着圣主applepi一声令下,圣剑护法rainbow和魔杖护法freda将Nescafe魂珠放置于封印台上。封印台是一个树形的结构,魂珠放置的位置就是根节点(编号为0)。还有n个其他节点(编号1-n)上放置着封印石,编号为i的封印石需要从魂珠上获取Ei的能量。能量只能沿着树边从魂珠传向封印石,每条边有一个能够传递的能量上限Wi,魂珠的能量是无穷大的。作为封印开始前的准备工作,请你求出最多能满足多少颗封印台的能量需求?

注意:能量可以经过一个节点,不满足它的需求而传向下一个节点。每条边仅能传递一次能量。

Input

第一行一个整数n,表示除根节点之外的其他节点的数量。

接下来n行,第i+1行有三个整数Fi、Ei、Wi,分别表示i号节点的父节点、i号节点上封印石的能量需求、连接节点i与Fi的边最多能传递多少能量。

Output

最多能满足多少颗封印石的能量需求。

Sample Input

4
0 3 2
0 100 100
1 1 1
2 75 80

Sample Output

2

Data Constraint

对于100%的数据,满足1<=n<=1000,0<=Fi<=n,0<=Ei,Wi<=100

考场思路/正解

细读题目,不然发现,每一个节点如果能到达根,它们的贡献是一样的,所以我们只要每次去判断代价最小的节点能否到达根,如果可以,ans就++。

Code

#include<cstdio>
#include<algorithm>
using namespace std;int n,ans;
struct thm
{int zhi;int id;
}sz[1010];
struct TREE
{int fa;int e;int w;
}tree[1010];bool cmp(thm a,thm b)
<%return a.zhi<b.zhi;%>;bool check(int id,int k)
{if(id==0)return true;if(tree[id].w>=k && check(tree[id].fa,k)){tree[id].w-=k;return true;}elsereturn false;
}int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d%d",&tree[i].fa,&tree[i].e,&tree[i].w);sz[i].id=i,sz[i].zhi=tree[i].e;}sort(sz+1,sz+1+n,cmp);for(int i=1;i<=n;i++){if(check(sz[i].id,sz[i].zhi))ans++;}printf("%d",ans);return 0;
}

T2封印一击

Description

“圣主applepi于公元2011年9月创造了Nescafe,它在散发了16吃光辉之后与公元2011年11月12日被封印为一颗魂珠,贮藏于Nescafe神塔之中。公元2012年9月,圣主带领四大护法重启了Nescafe,如今已经是Nescafe之魂的第30吃传播了。不久,它就要被第二次封印,而变成一座神杯。。。”applepi思索着Nescafe的历史,准备着第二次封印。

Nescafe由n种元素组成(编号为1~n),第i种元素有一个封印区[ai,bi]。当封印力度E小于ai时,该元素获得ai的封印能量;当封印力度E在ai到bi之间时,该元素将获得E的封印能量;而当封印力度E大于bi时,该元素将被破坏从而不能获得任何封印能量。现在圣主applepi想选择恰当的E,使得封印获得的总能量尽可能高。为了封印的最后一击尽量完美,就请你写个程序帮他计算一下吧!

Input

第一行一个整数N。

接下来N行每行两个整数ai、bi,第i+1行表示第i种元素的封印区间。

Output

两个用空格隔开的证书,第一个数十能够获得最多总能量的封印力度E,第二个数是获得的总能量大小。当存在多个E能够获得最多总能量时,输出最小的E。

Sample Input

2
5 10
20 25

Sample Output

10 30

Data Constraint

对于50%的数据,1<=N<=1000,1<=ai<=bi<=10000。

对于100%的数据,1<=N<=10^5,1<=ai<=bi<=10^9。

考场思路/正解

就是直接将它们的端点排一个序,然后可证E的位置一定在某个右端点上,然后在巧妙的处理一下就行了。

Code

#include<cstdio>
#include<algorithm>
#define LL long long
using namespace std;LL n,a,b,sl,qzh,jl,ans,zx;
struct thm
{LL v;int pd;
}sz[200020];bool cmp(thm a,thm b)
<%return a.v<b.v;%>int main()
{scanf("%lld",&n);for(LL i=1;i<=n;i++){scanf("%lld%lld",&a,&b);sz[++sl].v=a;sz[++sl].v=b;sz[sl].pd=1;qzh+=a;}sort(sz+1,sz+1+sl,cmp);for(LL i=1;i<=sl;i++){if(!sz[i].pd){qzh-=sz[i].v;jl++;}else{if(qzh+jl*sz[i].v>ans)ans=qzh+jl*sz[i].v,zx=sz[i].v;jl--;}}printf("%lld %lld",zx,ans);return 0;
}

T3归途与征程

Description

Input

第一行为字符串A。

第二行为字符串B。

Output

输出在B的所有循环同构串中,有多少个能够与A匹配。

Sample Input

输入1:
aaaa
aaaa
输入2:
a*a
aaaaaa
输入3:
*a*b*c*
abacabadabacaba

Sample Output

输出1:
4
输出2:
6
输出3:
15

Data Constraint

对于30%的数据,M<=20;

对于80%的测试点,M<=200;

对于100%的测试点,1<=N<=100,1<=M<=100000。

考场思路

天啊,是字符串,于是我就放弃挣扎了。

正解

对KMP的一个高级应用。。

Code

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;int len1,len2,sl,k,zx,end,ans;
int cnt[110],Next[110][110],nt[110][200020];
char s1[110],s2[200020],ch[110][110];int main()
{scanf("%s%s",s1+1,s2+1);len1=strlen(s1+1);len2=strlen(s2+1);for(int i=1;i<=len2;i++)s2[i+len2]=s2[i];for(int i=1;i<=len1;i++){while(i<=len1 && s1[i]=='*')i++;sl++;while(i<=len1 && s1[i]!='*'){ch[sl][++cnt[sl]]=s1[i];i++;}}for(int i=1;i<=sl;i++){k=0;for(int j=2;j<=cnt[i];j++){while(k && ch[i][k]!=ch[i][j])k=Next[i][k];if(ch[i][k+1]==ch[i][j])k++;Next[i][j]=k;}}for(int i=1;i<=sl;i++){k=0;for(int j=1;j<=2*len2;j++){while(k && ch[i][k+1]!=s2[j])k=Next[i][k];if(ch[i][k+1]==s2[j])k++;if(k!=cnt[i])continue;zx=j-cnt[i]+1;while(zx && !nt[i][zx]){nt[i][zx]=j;zx--;}k=Next[i][k];}}for(int i=1;i<=len2;i++){end=i+len2-1;k=1;zx=i-1;if(s1[1]!='*' && i+cnt[k]-1!=nt[k][i])continue;while(zx<=end && k<=sl){zx++;zx=nt[k][zx];if(!zx)    break;k++;}if(s1[len1]=='*'){if(zx<=end && sl+1==k)ans++;}else{if(sl+1!=k)continue;while(zx<end && zx)zx=nt[k-1][zx-cnt[k-1]+2];ans+=zx==end;}}printf("%d",ans);return 0;
}

总结

还是感觉有种说不出的累。

明天也要加油鸭。。

转载于:https://www.cnblogs.com/Thm-V/p/11374029.html

8.18 纪中集训 Day18相关推荐

  1. 2019寒假纪中集训总结学期总结(流水账)

    学期总结 这学期上了初三,学校的初.高中校区对调,我们的班主任也由一个生物老师换成了一个化学老师. 之前的班主任比较年轻,跟我们这群学生有这很好的感情,亦师亦友,陪伴我们度过了几乎没有中考压力的初一. ...

  2. [2021.8纪中集训Day14]

    文章目录 1312. 老曹的忧郁 题目 思路 代码 1313. 老曹骑士 题目 思路 代码 1314. 稳定的数字 题目 思路 代码 封锁阳光大学 题目 题目描述 输入格式 输出格式 输入输出样例 说 ...

  3. 纪中集训2020.01.13【NOIP普及组】模拟赛C组总结————My First Time Write Summary

    纪中集训2020.01.13[NOIP普及组]模拟赛C组总结 题目编号 标题 0 [NOIP普及组模拟]取值( numbers.pas/cpp) 1 [NOIP普及组模拟]数对(pairs.pas/c ...

  4. 纪中集训2020.01.16【NOIP普及组】模拟赛C组总结+【0.Matrix】分析

    纪中集训2020.01.16[NOIP普及组]模拟赛C组总结+[0.Matrix]分析 题目: 0.matrix 1.product 2.binary 3.value 巨佬估分:100+100+40+ ...

  5. 2018纪中集训游记

    DAY  0 从家出发的时候,阴天了,开始祈祷不要下雨(之后貌似起飞的时候下了大雨,不过当时在云层里只感觉到了一丢丢颠簸?) 飞机给咕咕了半个小时,期间一直在被老头子呵斥不要奶飞机,我一直在叨叨:飞机 ...

  6. 2019纪中集训总结

    其实用一句话总结的话,那么就是: We still have a long way to go. 来到纪中,才知道全国还有这么多优秀的OI神犇,才知道自己不过是井下之蛙,才知道自己之前的幼自满的幼稚. ...

  7. 中山纪中集训游记Day2+8.2模拟赛题解

    Part.I游记 纪中的OJ真的...今天下午又炸一次... 今天模拟赛竟然是考的集训队互测的题...做到自闭... 一开考看见第一题,给我的感觉是要写树套树...然而我不想写... 然后就去看了第二 ...

  8. 【单调队列优化dp】jzoj4883灵知的太阳信仰 纪中集训提高B组

    [NOIP2016提高A组集训第12场11.10]灵知的太阳信仰 (File IO): input:array.in output:array.out Time Limits: 1000 ms Mem ...

  9. 【纪中集训2019.3.26】动态半平面交

    题目 描述 : 给出强制在线参数\(k\),树的大小\(n\),和每个点的点权\(a_i\); 有\(m\)个询问,每个询问是$u ,d $ 的形式: 表示询问\(u\)为根的子树中,和\(u\)的距 ...

最新文章

  1. 数据库连接池,实现及分析
  2. Nature:环境vs基因,谁对肠道菌群影响更大?
  3. php 协程怎么用,PHP yield 协程 生成器用法的了解
  4. WebSocket+MSE——HTML5 直播技术解析
  5. Docker:Nginx-Redis-Mysql-PHP 部署
  6. [从C到C++] 1.3 C++布尔类型(bool)
  7. python生成词云代码无错窗口空框_10分钟教你用Python生成属于自己的词云图
  8. linux云存储软件,推荐5个Linux云存储解决方案
  9. js match()方法
  10. activemq消息丢失_面试必问之消息中间件
  11. VS2008都出來了﹐看來我們升級VS2005的計划要改了。
  12. 使用OStressSQL Server压力测试
  13. Euclidean, Manhattan, hop-count distance 区别
  14. c++ python 计算100以内的素数
  15. 单元测试框架TestableMock快速入门(三):校验Mock调用
  16. 浪曦视频在线的ASP.NET AJAX视频教程下载(转载)
  17. AltiumDesigner绘制PCB(一)
  18. 利用python处理pdf文本,帮我省下不少钱
  19. envi神经网络分类原理,ENVI神经网络分类
  20. smplayer 字幕!解决smplayer字幕乱码的方法

热门文章

  1. C#之浅析面向对象编程思想(一)
  2. 点击百度地图添加标注并获取当前地理名称
  3. VBReFormer-SEO狼术
  4. 【机器学习】分类决策树与回归决策树案例
  5. 【转】多去阅读思维训练类的书籍
  6. yii2-DetailView
  7. ESP8266WIFI深度休眠(deep sleep)功耗测试
  8. 用excel画简单曲线图的实践
  9. 面朝大海 春暖花开 ————海子
  10. 文思海辉大厦介绍-摘自网络