Codeforces Round#297 B. Pasha and String

</pre><span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 21px; line-height: 21px; text-align: center;">B. Pasha and String</span><p></p><p><span style="white-space:pre"><span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 21px; line-height: 21px; text-align: center;"></span></span></p><div style="margin: 0px; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 14px; position: relative;"><div id="content" class="content-with-sidebar" style="margin: 1em; padding: 1em 0px 0px; min-height: 20em;"><div class="problemindexholder" problemindex="B" style="margin: 0px; padding: 0px; position: relative;"><div class="ttypography" style="margin: 0px; padding: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 21px; color: rgb(34, 34, 34); word-wrap: break-word;"><div class="problem-statement" style="margin: 0.5em; padding: 0px; line-height: 1.5em;"><div style="margin: 0px; padding: 0px;"><p style="margin-top: 1.5em; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-size: 1em; line-height: 1.4em;">Pasha got a very beautiful string <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>s</em></span> for his birthday, the string consists of lowercase Latin letters. The letters in the string are numbered from 1 to <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">|<em>s</em>|</span> from left to right, where <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">|<em>s</em>|</span> is the length of the given string.</p><p style="margin-top: 1.5em; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-size: 1em; line-height: 1.4em;">Pasha didn't like his present very much so he decided to change it. After his birthday Pasha spent <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>m</em></span> days performing the following transformations on his string — each day he chose integer <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>a</em><span class="lower-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; bottom: -0.25em;"><em>i</em></span></span> and <span class="tex-font-style-bf" style="font-weight: bold;">reversed</span> a piece of string (a segment) from position <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>a</em><span class="lower-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; bottom: -0.25em;"><em>i</em></span></span> to position<span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">|<em>s</em>| - <em>a</em><span class="lower-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; bottom: -0.25em;"><em>i</em></span> + 1</span>. It is guaranteed that <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">2·<em>a</em><span class="lower-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; bottom: -0.25em;"><em>i</em></span> ≤ |<em>s</em>|</span>.</p><p style="margin-top: 1.5em; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-size: 1em; line-height: 1.4em;">You face the following task: determine what Pasha's string will look like after <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>m</em></span> days.</p></div><div class="input-specification" style="margin: 0px; padding: 0px;"><div class="section-title" style="margin: 0px; padding: 0px; font-size: 16.1000003814697px; font-weight: bold;">Input</div><p style="margin-top: 1.5em; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-size: 1em; line-height: 1.4em;">The first line of the input contains Pasha's string <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>s</em></span> of length from <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">2</span> to <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">2·10<span class="upper-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; top: -0.5em;">5</span></span> characters, consisting of lowercase Latin letters.</p><p style="margin-top: 1.5em; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-size: 1em; line-height: 1.4em;">The second line contains a single integer <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>m</em></span> (<span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">1 ≤ <em>m</em> ≤ 10<span class="upper-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; top: -0.5em;">5</span></span>) —  the number of days when Pasha changed his string.</p><p style="margin-top: 1.5em; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-size: 1em; line-height: 1.4em;">The third line contains <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>m</em></span> space-separated elements <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>a</em><span class="lower-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; bottom: -0.25em;"><em>i</em></span></span> (<span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">1 ≤ <em>a</em><span class="lower-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; bottom: -0.25em;"><em>i</em></span></span>; <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;">2·<em>a</em><span class="lower-index" style="font-size: 13.125px; line-height: 0; position: relative; vertical-align: baseline; bottom: -0.25em;"><em>i</em></span> ≤ |<em>s</em>|</span>) — the position from which Pasha started transforming the string on the <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>i</em></span>-th day.</p></div><div class="output-specification" style="margin: 0px 0px 1em; padding: 0px;"><div class="section-title" style="margin: 0px; padding: 0px; font-size: 16.1000003814697px; font-weight: bold;">Output</div><p style="margin-top: 1.5em; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-size: 1em; line-height: 1.4em;">In the first line of the output print what Pasha's string <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>s</em></span> will look like after <span class="tex-span" style="font-size: 17.5px; font-family: 'times new roman', sans-serif;"><em>m</em></span> days.</p></div><div class="sample-tests" style="margin: 0px; padding: 0px; font-family: Consolas, 'Lucida Console', 'Andale Mono', 'Bitstream Vera Sans Mono', 'Courier New', Courier; font-size: 0.9em;"><div class="section-title" style="margin: 0px; padding: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14.4899997711182px; font-weight: bold;">Sample test(s)</div><div class="sample-test" style="margin: 0px; padding: 0px;"><div class="input" style="margin: 0px; padding: 0px; border: 1px solid rgb(136, 136, 136);"><div class="title" style="margin: 0px; padding: 0.25em; font-size: 1.3em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(136, 136, 136); text-transform: lowercase; font-weight: bold;">input</div><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0.25em; font-size: 12.6000003814697px; font-family: Consolas, 'Lucida Console', 'Andale Mono', 'Bitstream Vera Sans Mono', 'Courier New', Courier; line-height: 1.25em; white-space: pre-wrap; word-wrap: break-word; color: rgb(136, 0, 0); background-color: rgb(239, 239, 239);">abcdef
1
2
output
aedcbf
input
vwxyz
2
2 2
output
vwxyz
input
abcdef
3
1 2 3
output
fbdcea

#include <iostream>
#include <stdio.h>
#include <string.h>

#define maxn 100005

using namespace std;

int main()
{
    int m,a[maxn*2],l;
    char s[maxn*2];
    int len,i,j;
    while(scanf("%s",s) != EOF)
    {
        int mark[maxn] = {0};
        len = strlen(s);
        for( i =0; i < strlen(s); i++)
            a[i] = i;
        scanf("%d",&m);
        for( i = 0; i < m; i ++)
        {
            scanf("%d",&l);
            mark[l-1] ++;
        }
        int cnt = 0;
        for(i = 0; i < len/2; i++)
        {
                cnt += mark[i];
                cnt &= 1;

                if(cnt)
                {
                        char tmp = s[i];
                        s[i] = s[len -i -1];
                        s[len - i - 1] = tmp;
                }
        }

        printf("%s\n",s);
    }
    return 0;
}


基于C2000 DSP的电力电子、电机驱动和数字滤波器的仿真模型构建及其C代码实现方法。首先,在MATLAB/Simulink环境中创建电力电子系统的仿真模型,如三相逆变器,重点讨论了PWM生成模块中死区时间的设置及其对输出波形的影响。接着,深入探讨了C2000 DSP内部各关键模块(如ADC、DAC、PWM定时器)的具体配置步骤,特别是EPWM模块采用上下计数模式以确保对称波形的生成。此外,还讲解了数字滤波器的设计流程,从MATLAB中的参数设定到最终转换为适用于嵌入式系统的高效C代码。文中强调了硬件在环(HIL)和支持快速原型设计(RCP)的重要性,并分享了一些实际项目中常见的陷阱及解决方案,如PCB布局不当导致的ADC采样异常等问题。最后,针对中断服务程序(ISR)提出了优化建议,避免因ISR执行时间过长而引起的系统不稳定现象。 适合人群:从事电力电子、电机控制系统开发的技术人员,尤其是那些希望深入了解C2000 DSP应用细节的研发工程师。 使用场景及目标:①掌握利用MATLAB/Simulink进行电力电子设备仿真的技巧;②学会正确配置C2000 DSP的各项外设资源;③能够独立完成从理论设计到实际产品落地全过程中的各个环节,包括但不限于数字滤波器设计、PWM信号生成、ADC采样同步等。 其他说明:文中提供了大量实用的代码片段和技术提示,帮助读者更好地理解和实践相关知识点。同时,也提到了一些常见错误案例,有助于开发者规避潜在风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值