<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[abyness的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/abyness</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; abyness]]></copyright><item><title><![CDATA[2021-02-10]]></title><link>https://blog.youkuaiyun.com/abyness/article/details/113786965</link><guid>https://blog.youkuaiyun.com/abyness/article/details/113786965</guid><author>abyness</author><pubDate>Wed, 10 Feb 2021 23:18:16 +0800</pubDate><description><![CDATA[poj1581
题目思路较为简单，需要注意的是对于时间总和的判断计算。
可是为什么vjudge它编不来呢。。。
如果我的代码有问题欢迎评论指导。
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;
using std :: string;

struct s{
    string teamname;
    int a[4] = {0},b[4] = {0},addtime = 0,addsub = 0;
};

]]></description><category></category></item><item><title><![CDATA[2021-01-26]]></title><link>https://blog.youkuaiyun.com/abyness/article/details/113198996</link><guid>https://blog.youkuaiyun.com/abyness/article/details/113198996</guid><author>abyness</author><pubDate>Tue, 26 Jan 2021 22:16:36 +0800</pubDate><description><![CDATA[poj-1579 Function Run Fun
记忆化递归  思路来自于这里
注意一下输出的样式
普通思路：先判断简单的大于20和小于等于0，然后在依题意翻译成递归函数，但是这样会超时。
记忆化递归思路：
整个数组来记录每一次递归时的结果（要初始化为零）在原有的代码上添加一个判断来确认当前递归是否已经有记录的结果，如果有则直接返回当前数组。
剩下的其实相当于
if(x&lt;y &amp;&amp; y&lt;z) dp[x][y][z]=bfs(x,y,z-1)+bfs(x,y-1,z-1)-bfs(]]></description><category></category></item><item><title><![CDATA[2021-01-26]]></title><link>https://blog.youkuaiyun.com/abyness/article/details/113174604</link><guid>https://blog.youkuaiyun.com/abyness/article/details/113174604</guid><author>abyness</author><pubDate>Tue, 26 Jan 2021 10:27:46 +0800</pubDate><description><![CDATA[UVa 10323 - Factorial! You Must be Kidding!!!
递归函数
对于负的阶乘也给了定义，负数且为单数则为正无穷，负数且为双数则为负无穷。
#include &lt;iostream&gt;

using namespace std;

long long func(int n);

int main()
{
    int n;
    while(cin&gt;&gt;n){
       if(func(n) &gt; 6227020800 ||(n&lt;0&am]]></description><category></category></item><item><title><![CDATA[2021-01-26]]></title><link>https://blog.youkuaiyun.com/abyness/article/details/113172868</link><guid>https://blog.youkuaiyun.com/abyness/article/details/113172868</guid><author>abyness</author><pubDate>Tue, 26 Jan 2021 09:25:56 +0800</pubDate><description><![CDATA[uva-492 Pig-Latin
核心思想来自于：
程序逻辑：
遇到标点符号-&gt;左边的下标打印符号，++向下一个字母，同时结束下表在这里开始-&gt;一直遇到字母直到下一个非字母，结束下标++至标点符号位置-&gt;此时一个单词的位置被起始和结束锚定，此时开始判断开头字母，由起始位置处理打印直到结束位置回到开头。
(程序开始时由字母开始，开始位置不动==0，结束位置++至符号，开始循环。）
领悟：并非需要改变整个数组，只是打印出来时处理打印方式。
ps:
runtime error—————————]]></description><category></category></item><item><title><![CDATA[2021-01-25]]></title><link>https://blog.youkuaiyun.com/abyness/article/details/113147871</link><guid>https://blog.youkuaiyun.com/abyness/article/details/113147871</guid><author>abyness</author><pubDate>Mon, 25 Jan 2021 22:47:09 +0800</pubDate><description><![CDATA[poj2196
难点在于如何用程序计算出进制转化后的各位数和，用函数会比较方便。
见了鬼了，lang11我记得是可以支持连等号的，记错了？
#include &lt;iostream&gt;

using namespace std;

int TransformSum(int a,int n);

int main()
{
    for(int i = 2992;i != 10000;i++){
        if(TransformSum(i,10) == TransformSum(i,12) &a]]></description><category></category></item><item><title><![CDATA[2021-01-25]]></title><link>https://blog.youkuaiyun.com/abyness/article/details/113107592</link><guid>https://blog.youkuaiyun.com/abyness/article/details/113107592</guid><author>abyness</author><pubDate>Mon, 25 Jan 2021 12:17:24 +0800</pubDate><description><![CDATA[POJ-2361 井字棋合法判断
难点在于如何想到不合法的条件和判断输赢的算法
不知道为什么用范围for就莫名其妙的避免了那些个多出来的“\n”占用位置，有待解答。
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;

using namespace std;

bool champion(char c[3][3],int a,int b);

int main()
{
    int n;
    for(s]]></description><category></category></item></channel></rss>